一、百度自帶的路徑規劃api
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}}); //駕車實例spa
driving2.search(myP1, myP2); //顯示一條公交線路htm
DrivingRoute:駕車導航,提供駕車出行方案的搜索服務,能夠根據起始座標和途經點規劃路徑。ci
TransitRoute:公交導航,提供某一特定地區的公交出行方案的搜索服務。get
WalkingRoute:步行導航,提供步行出行方案的搜索服務。回調函數
上面的簡單實例是百度demo中的例子百度demoit
二、爲了實現咱們可定製化的路徑規劃,咱們就不能用百度api默認的這套規則io
能夠有如下思路
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);
});
完美結束