百度地图开发( 基于新版本V2_1_1)— 覆盖物(3)_路线图层(RouteOverlay)
来源:互联网 发布:e卡销官网源码 编辑:程序博客网 时间:2024/05/18 06:56
路线图层(RouteOverlay):公交、步行和驾车线路图层,将公交、步行和驾车出行方案的路线及关键点显示在地图上;
下面。首先来看看如何将驾车路线图层显示在百度地图上。假设我们要检索从天安门到百度大厦的驾车路线图。
1、设置驾车路线的起点和终点,同时设置驾车路线策略,最后根据驾车路线的起点和终点进行驾车路线的检索。核心代码如下:(写在oncreate方法中)
//驾车路线检索// 设置驾车路线起点MKPlanNode nodeStart = new MKPlanNode();nodeStart.pt = new GeoPoint((int)(39.915 * 1E6) , (int)(116.404 * 1E6));//设置驾车路线终点MKPlanNode nodeEnd = new MKPlanNode();nodeEnd.pt = new GeoPoint(40057031, 116307852);// ECAR_TIME_FIRST 驾乘检索策略常量:时间优先// ECAR_FEE_FIRST 驾乘检索策略常量:较少费用// ECAR_DIS_FIRST 驾乘检索策略常量:最短距离// 此处设置驾车路线规划策略 为时间优先mkSearch.setDrivingPolicy(MKSearch.ECAR_TIME_FIRST);// drivingSearch 根据驾车起点终点进行驾乘路线搜索 mkSearch.drivingSearch(null, nodeStart, null, nodeEnd);2、获取结果并显示在地图上,同时,和上一次讲到的兴趣点(poi)检索一样,需要实现MySearchListener,并重写其中的onGetDrivingRouteResult()方法。代码如下:
/** * 返回驾乘路线搜索结果 */public void onGetDrivingRouteResult(MKDrivingRouteResult result , int iEEor) {if (result == null) {return ;}RouteOverlay routeOverlay = new RouteOverlay(MyMapActivity.this, mapView);routeOverlay.setData(result.getPlan(0).getRoute(0)); mapView.getOverlays().add(routeOverlay); mapView.refresh();}3、至此,驾车路线检索就完成 了。效果如下“
接下来,我们来说下步行线路检索是如何实现的。在明白了驾车路线的实现后,步行路线的实现只要将其中的检索方法drivingSearch改成相应的步行路线的检索方法walkingSearch即可,同时,实现MKSearchListener,重写onGetWalkingRouteResult方法,便可将步行路线检索结果在百度地图上实现出来。核心代码如下:
1、设置步行路线的起点和终点,并根据起点和终点进行步行路线的检索。
//步行路线检索// 设置步行路线起点MKPlanNode nodeStart = new MKPlanNode();nodeStart.pt = new GeoPoint((int)(39.915 * 1E6) , (int)(116.404 * 1E6));//设置步行路线终点MKPlanNode nodeEnd = new MKPlanNode();nodeEnd.pt = new GeoPoint(40057031, 116307852);//drivingSearch 步行路线检索mkSearch.walkingSearch(null, nodeStart, null, nodeEnd);2、重写onGetWalkingRouteResult ,显示步行路线检索结果。核心代码如下:
/** * 返回步行路线搜索结果 */public void onGetWalkingRouteResult(MKWalkingRouteResult result, int arg1) {if (result == null) {return ;}RouteOverlay routeOverlay = new RouteOverlay(MyMapActivity.this, mapView);routeOverlay.setData(result.getPlan(0).getRoute(0)); mapView.getOverlays().add(routeOverlay); mapView.refresh();}3、至此,关于步行路线检索也实现了,具体效果图见下:
最后,就是公交路线的检索。其实现方法和驾车路线和步行路线的检索大同小异,不再累赘多说。不同的是:公交线路搜索的方法为transitSearch(String city, MKPlanNode start, MKPlanNode end),city:为待查公交线路所在城市,start和end分别是起点和终点;获取结果的方法改为重写onGetTransitRouteResult方法。
- 百度地图开发( 基于新版本V2_1_1)— 覆盖物(3)_路线图层(RouteOverlay)
- 百度地图开发( 基于新版本V2_1_1)— 覆盖物(4)_自定义图层:ItemizedOverlay
- 百度地图开发( 基于新版本V2_1_1)— 覆盖物(1)_我的位置图层(MyLocationOverlay)
- 百度地图开发( 基于新版本V2_1_1)— 覆盖物(2)_Poi搜索结果图层(PoiOverlay)
- 百度地图开发( 基于新版本V2_1_1)— 覆盖物(5)—弹出窗口图层:PopupOverlay
- 百度地图开发( 基于新版本V2_1_1)—显示百度地图
- Android学习笔记之百度地图(驾车路线搜索及RouteOverlay步行路线搜索及RouteOverlay)
- Android学习笔记之百度地图(驾车路线搜索及RouteOverlay步行路线搜索及RouteOverlay)
- Android学习笔记之百度地图(驾车路线搜索及RouteOverlay步行路线搜索及RouteOverlay)
- Android学习笔记之百度地图(驾车路线搜索及RouteOverlay步行路线搜索及RouteOverlay)
- 百度地图开发入门【不同图层及覆盖物】
- 百度地图开发之不同图层及覆盖物
- Android 百度地图开发教程(一) 地图使用入门及地图表面覆盖物使用
- 基于百度地图,绘制自定义覆盖物
- Android版本百度地图开发(五)——覆盖物
- Android版本百度地图开发(五)——覆盖物
- 百度地图学习总结(4)—添加覆盖物
- 百度地图从零学起(四)地图覆盖物
- java反射学习四
- 关于IAP的破解
- C语言常见面试题
- 纪念一下自己一下午的愚蠢——KMP算法核心
- LESS/Sass/CoffeeScript图形编译工具推荐
- 百度地图开发( 基于新版本V2_1_1)— 覆盖物(3)_路线图层(RouteOverlay)
- GitHub+TortoiseGit
- Dom与Pull方式解析XML文件
- jsp显示中文文件名的图片 详细出处参考:http://www.jb51.net/article/37149.htm
- 嵌入式学习笔记之GPIO
- iOS应用内付费(IAP)开发步骤列表
- 数据库只能用机器名连接,不能用ip地址连接
- 学习iPhone开发中 sqlite3的使用
- javascript关联数组