java百度地图路线规划,百度地图—之—路径规划

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默认的这套规则

可以有以下思路

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

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

调用回调函数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);

});

完美结束