005 走上移动开发之安卓项目实战(百度地图:如何在地图上显示多条导航线路图)

还请大家注意在文章进行转载的时候麻烦注明出处

《http://blog.csdn.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方法的比较和不用,仔细看你会发现仅仅是多了一个循环而已,举一反三,通过这个例子是不是其他的方法多条显示也知道了呢?

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

shuaiyinoo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值