2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > android 百度地图获取城市 Android 百度地图获取两点之间的距离和推荐的驾车路线...

android 百度地图获取城市 Android 百度地图获取两点之间的距离和推荐的驾车路线...

时间:2020-12-11 09:31:32

相关推荐

android 百度地图获取城市 Android 百度地图获取两点之间的距离和推荐的驾车路线...

//规划路线 Activity实现OnGetRoutePlanResultListener接口

private RoutePlanSearch routePlanSearch;

//这里传入 起点LatLng 和终点的LatLng

private void guiHua(LatLng start,LatLng end){

if (routePlanSearch==null) {

routePlanSearch=RoutePlanSearch.newInstance();

routePlanSearch.setOnGetRoutePlanResultListener(this);

}

DrivingRoutePlanOption option=new DrivingRoutePlanOption();

option.from(PlanNode.withLocation(start))

.to(PlanNode.withLocation(end));

routePlanSearch.drivingSearch(option);

}

/**

实现OnGetRoutePlanResultListener接口 重写这几个方法

*/

//汽车

@Override

public void onGetBikingRouteResult(BikingRouteResult arg0) {

// TODO Auto-generated method stub

}

//驾驶

@Override

public void onGetDrivingRouteResult(DrivingRouteResult result) {

// TODO Auto-generated method stub

if (result == null || result.error != SearchResult.ERRORNO.NO_ERROR) {

Toast.makeText(mContext, "抱歉,未找到结果", Toast.LENGTH_SHORT).show();

}

if (result.error == SearchResult.ERRORNO.AMBIGUOUS_ROURE_ADDR) {

// 起终点或途经点地址有岐义,通过以下接口获取建议查询信息

// result.getSuggestAddrInfo()

return;

}

if (result != null&&result.error == ERRORNO.NO_ERROR) {

DrivingRouteOverlay overlay=null;

Listlist=result.getRouteLines();

if (list.size()>0) {

//获取驾车距离

double juli=(double)list.get(0).getDistance()/1000;

tv_juli.setText(juli+"km");

//这里将第一条路线显示在地图上

overlay=new DrivingRouteOverlay(baiduMap);

overlay.setData(list.get(0));

overlay.addToMap();

overlay.zoomToSpan();

}

//这里将所有路线显示在地图上

// for (DrivingRouteLine line:list) {

// overlay=new DrivingRouteOverlay(baiduMap);

// overlay.setData(line);

// overlay.addToMap();

// overlay.zoomToSpan();

// }

}

}

//公交

@Override

public void onGetTransitRouteResult(TransitRouteResult arg0) {

// TODO Auto-generated method stub

}

//步行

@Override

public void onGetWalkingRouteResult(WalkingRouteResult result) {

// TODO Auto-generated method stub

// 获取步行线路规划结果

if (result == null || result.error != SearchResult.ERRORNO.NO_ERROR) {

Toast.makeText(mContext, "抱歉,未找到结果",

Toast.LENGTH_SHORT).show();

}

if (result.error == SearchResult.ERRORNO.AMBIGUOUS_ROURE_ADDR) {

// 起终点或途经点地址有岐义,通过以下接口获取建议查询信息

// result.getSuggestAddrInfo()

return;

}

if (result.error == SearchResult.ERRORNO.NO_ERROR) {

WalkingRouteOverlay overlay = new MyWalkingRouteOverlay(

baiduMap);

//这里同上(驾车)

baiduMap.setOnMarkerClickListener(overlay);

overlay.setData(result.getRouteLines().get(0));

overlay.addToMap();

overlay.zoomToSpan();

}

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。