百度地圖API - 行車路線 軌跡


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>駕車途經點</title>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=1.2"></script>
</head>
<body>
<p><input type='button' value='開始' onclick='run();' /></p>
<div style="width:820px;height:500px;border:1px solid gray" id="container"></div>
<script type="text/javascript">
var map = new BMap.Map("container");
map.centerAndZoom(new BMap.Point(116.404, 39.915), 13);
map.addControl(new BMap.NavigationControl()); // 添加平移縮放控件
map.addControl(new BMap.ScaleControl()); // 添加比例尺控件
map.addControl(new BMap.OverviewMapControl()); //添加縮略地圖控件

var myP1 = new BMap.Point(106.521436,29.532288); //起點-重慶
var myP2 = new BMap.Point(108.983569,34.285675); //終點-西安
var myP3 = new BMap.Point(116.404449,39.920423); //終點-北京

window.run = function (){
map.clearOverlays(); //清除地圖上所有的覆蓋物
var driving = new BMap.DrivingRoute(map); //創建駕車實例
driving.search(myP1, myP2); //第一個駕車搜索
driving.search(myP2, myP3); //第二個駕車搜索
driving.setSearchCompleteCallback(function(){
var pts = driving.getResults().getPlan(0).getRoute(0).getPath(); //通過駕車實例,獲得一系列點的數組

var polyline = new BMap.Polyline(pts);
map.addOverlay(polyline);

var m1 = new BMap.Marker(myP1); //創建3個marker
var m2 = new BMap.Marker(myP2);
var m3 = new BMap.Marker(myP3);
map.addOverlay(m1);
map.addOverlay(m2);
map.addOverlay(m3);

var lab1 = new BMap.Label("起點",{position:myP1}); //創建3個label
var lab2 = new BMap.Label("途徑點",{position:myP2});
var lab3 = new BMap.Label("終點",{position:myP3});
map.addOverlay(lab1);
map.addOverlay(lab2);
map.addOverlay(lab3);

setTimeout(function(){
map.setViewport([myP1,myP2,myP3]); //調整到最佳視野
},1000);

});
}
</script>
</body>
</html>

--摘自互聯網
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章