package com.xianning.driver.base.gaode;
|
|
import com.baidu.mapapi.model.LatLng;
|
import com.baidu.mapapi.search.route.BikingRouteResult;
|
import com.baidu.mapapi.search.route.DrivingRouteLine;
|
import com.baidu.mapapi.search.route.DrivingRoutePlanOption;
|
import com.baidu.mapapi.search.route.DrivingRouteResult;
|
import com.baidu.mapapi.search.route.IndoorRouteResult;
|
import com.baidu.mapapi.search.route.MassTransitRouteResult;
|
import com.baidu.mapapi.search.route.OnGetRoutePlanResultListener;
|
import com.baidu.mapapi.search.route.PlanNode;
|
import com.baidu.mapapi.search.route.RoutePlanSearch;
|
import com.baidu.mapapi.search.route.TransitRouteResult;
|
import com.baidu.mapapi.search.route.WalkingRouteResult;
|
|
import java.util.ArrayList;
|
|
public class BaiduUtils {
|
public static void initRouteLine(LatLng start,LatLng end,Callback callback){
|
RoutePlanSearch mSearch = RoutePlanSearch.newInstance();
|
OnGetRoutePlanResultListener listener = new OnGetRoutePlanResultListener(){
|
@Override
|
public void onGetWalkingRouteResult(WalkingRouteResult walkingRouteResult) {
|
|
}
|
|
@Override
|
public void onGetTransitRouteResult(TransitRouteResult transitRouteResult) {
|
|
}
|
|
@Override
|
public void onGetMassTransitRouteResult(MassTransitRouteResult massTransitRouteResult) {
|
|
}
|
|
@Override
|
public void onGetDrivingRouteResult(DrivingRouteResult drivingRouteResult) {
|
//驾车
|
if (drivingRouteResult.getRouteLines().size()>0){
|
DrivingRouteLine drivingRouteLine = drivingRouteResult.getRouteLines().get(0);
|
ArrayList<LatLng> latLngs = new ArrayList<>();
|
for (int i=0;i<drivingRouteLine.getAllStep().size();i++){
|
DrivingRouteLine.DrivingStep steps = drivingRouteLine.getAllStep().get(i);
|
latLngs.addAll(steps.getWayPoints());
|
}
|
callback.onGetDrivingRouteResult(latLngs,(float) drivingRouteLine.getDistance(), drivingRouteLine.getDuration()/60);
|
}
|
mSearch.destroy();
|
}
|
|
@Override
|
public void onGetIndoorRouteResult(IndoorRouteResult indoorRouteResult) {
|
|
}
|
|
@Override
|
public void onGetBikingRouteResult(BikingRouteResult bikingRouteResult) {
|
|
}
|
};
|
mSearch.setOnGetRoutePlanResultListener(listener);
|
PlanNode stNode = PlanNode.withLocation(start);
|
PlanNode enNode = PlanNode.withLocation(end);
|
mSearch.drivingSearch((new DrivingRoutePlanOption())
|
.from(stNode)
|
.to(enNode));
|
}
|
|
public interface Callback{
|
void onGetDrivingRouteResult(ArrayList<LatLng> latLngs,float lineTance,long lineTime);
|
}
|
|
}
|