百度地图---之---路径规划

一曲冷凌霜 提交于 2020-02-29 00:38:12

1、百度自带的路径规划

var myP1 = new BMap.Point(116.380967,39.913285);    //起点

var myP2 = new BMap.Point(116.424374,39.914668);    //终点

var driving2 = new BMap.DrivingRoute(map, {renderOptions:{map: map, autoViewport: true}});    //驾车实例

driving2.search(myP1, myP2);    //显示一条公交线路

DrivingRoute:驾车导航,提供驾车出行方案的搜索服务,可以根据起始坐标和途经点规划路径。

TransitRoute:公交导航,提供某一特定地区的公交出行方案的搜索服务。

WalkingRoute:步行导航,提供步行出行方案的搜索服务。

上面的简单实例是百度demo中的例子百度demo

2、为了实现我们可定制化的路径规划,我们就不能用百度api默认的这套规则

    可以有以下思路

  1. renderOptions把这个属性去掉不显示默认规划结果

  2. DrivingRoute划线给它加途经点 driving2.search(myP1, myP2,{waypoints:Points});  其中waypoints为途经点数组,现在只能途径10个以内有效

  3. 调用回调函数    driving.setSearchCompleteCallback(function(){

var pts = driving.getResults().getPlan(0).getRoute(0).getPath();    //通过驾车实例,获得一系列点的数组

         获取百度路径规划的所有点 然后可以自己划线

var paths = pts.length;    //获得有几个点

var carMk = new BMap.Marker(pts[0]);

var carMk2 = new BMap.Marker(pts[paths-1]);

map.addOverlay(carMk);

map.addOverlay(carMk2)划线

var line = new BMap.Polyline(pts,

{strokeColor:"green", strokeWeight:6, strokeOpacity:0.5});

map.addOverlay(line);

}); 

完美结束

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!