百度地图:标注驾车路线搜索

来源:互联网 发布:oracle数据库用户 编辑:程序博客网 时间:2024/05/06 06:15

在http://blog.csdn.net/lj102800/article/details/13998543基础上添加

//实例化地图的查询类mkSearch = new MKSearch();mkSearch.init(bMapManager, new MySearchListener());//给起始点构建一个坐标start=new MKPlanNode();start.pt=new GeoPoint((int)(39.915*1E6),(int)(116.404*1E6));end=new MKPlanNode();end.pt=new GeoPoint(40057031,116307852);////行走路线搜索//mkSearch.walkingSearch(null, start, null, end);//驾车路线图考虑的优先策略mkSearch.setDrivingPolicy(MKSearch.EBUS_TIME_FIRST);//采用的是时间优先//驾乘路线搜索//参数:起点所在城市,搜索的起点,终点所在城市,搜索的终点mkSearch.drivingSearch(null, start, null, end);

public class MySearchListener implements MKSearchListener{@Overridepublic void onGetAddrResult(MKAddrInfo arg0, int arg1) {}@Overridepublic void onGetBusDetailResult(MKBusLineResult arg0, int arg1) {}//返回驾乘路线搜索结果@Overridepublic void onGetDrivingRouteResult(MKDrivingRouteResult result,int iError) {if(result==null){return ;}RouteOverlay routeOverlay=new RouteOverlay(MainActivity.this, mapView);//从A点到B点的驾车路线会有多条路线routeOverlay.setData(result.getPlan(0).getRoute(0));mapView.getOverlays().add(routeOverlay);mapView.invalidate();//刷新}@Overridepublic void onGetPoiDetailSearchResult(int type, int iError) {}// 返回poi搜索结果@Overridepublic void onGetPoiResult(MKPoiResult result, int type, int iError)  {}@Overridepublic void onGetRGCShareUrlResult(String arg0, int arg1) {}@Overridepublic void onGetSuggestionResult(MKSuggestionResult arg0, int arg1) {}@Overridepublic void onGetTransitRouteResult(MKTransitRouteResult arg0, int arg1) {}@Overridepublic void onGetWalkingRouteResult(MKWalkingRouteResult arg0, int arg1) {}}

效果如下图

驾车路线搜索


步行线路搜索

步行线路搜索与驾车路线搜索类似,只需将mMKSearch.drivingSearch(null, start, null, end)修改为mMKSearch.walkingSearch(null, start, null, end),获取结果的方法改为重写onGetWalkingRouteResult即可。




原创粉丝点击