android百度地图开发V4.5最新版(5)---路线规划问题步行,骑车,公交,驾车等。
2017-12-07 16:25
573 查看
这篇博客只做步行路线规划的实现。其他的都是大同小异。废话不多说,直接上代码。
1:新建xml文件,增加布局:
这里的listview的作用格式展示路线的point节点信息。
2:建立SDKlistioner监听
3:输入起始点和终止点
4:搜索Search初始化
![](https://img-blog.csdn.net/20171207162630955?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMjExNTczMA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
1:新建xml文件,增加布局:
<!-- 放入百度地图的mapview --> <com.baidu.mapapi.map.MapView android:id="@+id/bmapsView" android:layout_width="fill_parent" android:layout_height="fill_parent" android:clickable="true" /> <LinearLayout android:id="@+id/linearLayout1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:layout_toLeftOf="@+id/button1"> <!-- 起点输入框 --> <EditText android:id="@+id/editText1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:ems="50" android:layout_weight="1" android:hint="请输入起点"> </EditText> <!-- 终点输入框 --> <EditText android:id="@+id/editText2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:ems="50" android:layout_weight="1" android:hint="请输入终点"> </EditText> </LinearLayout> <!-- 搜索执行按钮 --> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_alignParentTop="true" android:text="《搜索》" /> </RelativeLayout> <ListView android:id="@+id/android:list" android:layout_width="fill_parent" android:layout_height="fill_parent" > </ListView>
这里的listview的作用格式展示路线的point节点信息。
2:建立SDKlistioner监听
OnGetRoutePlanResultListener listener = new OnGetRoutePlanResultListener() { @Override //步行 public void onGetWalkingRouteResult(WalkingRouteResult walkingRouteResult) { if (walkingRouteResult == null) { Toast.makeText(LuxianActivity.this, "抱歉,未找到结果", Toast.LENGTH_SHORT).show(); return; } WalkingRouteLine route = walkingRouteResult.getRouteLines().get(0); List<WalkingRouteLine.WalkingStep> walkingStepList =route.getAllStep(); for (WalkingRouteLine.WalkingStep walkingStep:walkingStepList){ Map<String, String> map1 = new HashMap<String, String>(); map1.put("经纬度",walkingStep.getInstructions()); data.add(map1); setListAdapter(new SimpleAdapter(LuxianActivity.this,data,android.R.layout.simple_list_item_1, new String[]{"经纬度"}, //每行显示一个姓名 new int[]{android.R.id.text1})); //名字在text1上显示)); Log.e("路线", walkingStep.getInstructions()); } WalkingRouteOverlay overlay = new WalkingRouteOverlay(mBaiduMap); mBaiduMap.setOnMarkerClickListener(overlay); routeOverlay = overlay; //设置路线数据 overlay.setData(walkingRouteResult.getRouteLines().get(0)); overlay.addToMap(); //将所有overlay添加到地图中 overlay.zoomToSpan();//缩放地图 } @Override //公交 public void onGetTransitRouteResult(TransitRouteResult transitRouteResult) { } @Override public void onGetMassTransitRouteResult(MassTransitRouteResult massTransitRouteResult) { } @Override //驾车 public void onGetDrivingRouteResult(DrivingRouteResult drivingRouteResult) { } @Override //室内 public void onGetIndoorRouteResult(IndoorRouteResult indoorRouteResult) { } @Override //骑行 public void onGetBikingRouteResult(BikingRouteResult bikingRouteResult) { } };
3:输入起始点和终止点
PlanNode stNode = PlanNode.withCityNameAndPlaceName("北京", start); PlanNode enNode = PlanNode.withCityNameAndPlaceName("北京", end);
4:搜索Search初始化
mSearch=RoutePlanSearch.newInstance();
5:增加监听:
mSearch.setOnGetRoutePlanResultListener(listener);6:开始调用方法搜索步行方案。
mSearch.walkingSearch((new WalkingRoutePlanOption()) .from(stNode) .to(enNode));至此步行搜索路劲开发完毕,
特别说明:步行搜索不止一条路劲,但我在代码中直接将路劲默认为get(0)得到。这样就得出一条路劲。
各位在开发的时候可以展示所有路劲,然后点击再进行路线的规划。
最后图片如下:
相关文章推荐
- android百度地图开发之自动定位所在位置与固定位置进行驾车,步行,公交路线搜索
- android百度地图开发之自动定位所在位置与固定位置进行驾车,步行,公交路线搜索
- android百度地图开发之自动定位所在位置与固定位置进行驾车,步行,公交路线搜索
- BaiduMap---百度地图官方Demo之路径规划功能(介绍公交,驾车和步行三种线路规划方法和自设路线方法)
- Android百度地图开发05之公交信息检索 + 路线规划
- Android 百度地图 SDK v3_3_0 (六) ---驾车、步行、公交路线搜索
- 安卓高德地图 - (路线规划[驾车+公交+步行+骑行5])
- 百度地图:加强篇(路线检索:驾车+步行+公交换乘)
- 【高德地图API】从零开始学高德JS API(五)路线规划——驾车|公交|步行
- Android百度地图 - 路径规划(驾车、步行和公交线路搜索)
- 【高德地图API】从零开始学高德JS API(五)路线规划——驾车|公交|步行
- 百度地图开发(五)之公交信息检索 + 路线规划
- android百度地图开发V4.5最新版(6)---行政区域查找
- Android版本百度地图开发(三)——路线规划
- android百度地图开发V4.5最新版(3)---计算地图上俩点之间的距离
- 百度地图开发(五)之公交信息检索 + 路线规划
- android百度地图开发V4.5最新版(4)---显示自己的位置在地图上
- 【高德地图API】从零开始学高德JS API(五)路线规划——驾车|公交|步行
- 百度地图开发(五)之公交信息检索 + 路线规划
- Android版本百度地图开发(三)——路线规划