005 走下移动开发之安卓项目实战(百度map:怎么在map下显示多条导航线路图)
005 走上移动开发之安卓项目实战(百度地图:如何在地图上显示多条导航线路图)
然后在MySearchListener implements MKSearchListener实现的这个接口中实现如下方法
上面的方法中有V7.00和V9.00方法的比较和不用,仔细看你会发现仅仅是多了一个循环而已,举一反三,通过这个例子是不是其他的方法多条显示也知道了呢?
还请大家注意在文章进行转载的时候麻烦注明出处
《http://blog.****.net/shuaiyinoo》谢谢
在写这编博客的时候,首先需要说明一下的是,在地图上显示多条导航线路无论是对步行线路来说,驾车路线来说,或者公共交通路线都同样适用
实现这个多条线路只与一条显示微有一点点不同,只不过多加了一个循环而已。先请大家来看看效果图
具体的实现如下
第一步同样和以前的几篇博客一样在onCreate方法中加入如下代码
//v9.00驾车路线多条搜索 mapController.setZoom(14); //在地图范围内实现对物体的搜索 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.transitSearch("北京", start, end);
然后在MySearchListener implements MKSearchListener实现的这个接口中实现如下方法
@Override public void onGetTransitRouteResult(MKTransitRouteResult result, int type) { //公交换乘的回调方法 //v7.00 //if(result == null){ // return; //} //TransitOverlay transitOverlay = new TransitOverlay(BaiDu_SuYiActivity.this, mapView); //transitOverlay.setData(result.getPlan(0)); //mapView.getOverlays().add(transitOverlay); //刷新地图 //mapView.invalidate(); //v9.00 if(result == null){ return; } //获得所有的驾车线路图 int planNum = result.getNumPlan(); for(int i = 0 ;i<planNum;i++){ TransitOverlay transitOverlay = new TransitOverlay(BaiDu_SuYiActivity.this, mapView); transitOverlay.setData(result.getPlan(i)); mapView.getOverlays().add(transitOverlay); } mapView.invalidate(); mapView.getController().animateTo(result.getStart().pt); }
上面的方法中有V7.00和V9.00方法的比较和不用,仔细看你会发现仅仅是多了一个循环而已,举一反三,通过这个例子是不是其他的方法多条显示也知道了呢?