百度地圖---之---路徑規劃

一、百度自帶的路徑規劃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

    能夠有如下思路

  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);

}); 

完美結束

相關文章
相關標籤/搜索