百度地圖繪制駕車途經(jīng)點路線圖

可以先在坐標拾取系統(tǒng)拾取一些點作為測試數(shù)據(jù)
http://api.map.baidu.com/lbsapi/getpoint/index.html
復(fù)制下面的代碼到.html文件即可運行,需要聯(lián)網(wǎng)

<!DOCTYPE html>  
<html>  
<head>  
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
<title>百度地圖繪制駕車途經(jīng)點路線圖</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(113.288386,23.139859),20);  
    map.addControl(new BMap.NavigationControl());               // 添加平移縮放控件  
    map.addControl(new BMap.ScaleControl());                    // 添加比例尺控件  
    map.addControl(new BMap.OverviewMapControl());              //添加縮略地圖控件  
      
    var myP1 = new BMap.Point(113.281774,23.13288); 
    var myP2 = new BMap.Point(113.292157,23.132951);    
    var myP3 = new BMap.Point(113.296208,23.131513);
    var myP4 = new BMap.Point(113.300603,23.130487);
    var myP5 = new BMap.Point(113.301513,23.129129);
      
    window.run = function (){  
        map.clearOverlays();                        //清除地圖上所有的覆蓋物  
        var driving = new BMap.DrivingRoute(map);    //創(chuàng)建駕車實例  
        driving.search(myP1, myP5);                 //第一個駕車搜索  
        
        driving.setSearchCompleteCallback(function(){  
            var pts = driving.getResults().getPlan(0).getRoute(0).getPath();    //通過駕車實例,獲得一系列點的數(shù)組  
      
            var polyline = new BMap.Polyline(pts);       
            map.addOverlay(polyline);  
              
            var m1 = new BMap.Marker(myP1);         //創(chuàng)建3個marker  
            var m2 = new BMap.Marker(myP2);  
            var m3 = new BMap.Marker(myP3);  
            var m4 = new BMap.Marker(myP4);  
            var m5 = new BMap.Marker(myP5);  

            map.addOverlay(m1);  
            map.addOverlay(m2);  
            map.addOverlay(m3);
            map.addOverlay(m4);
            map.addOverlay(m5);

            var lab1 = new BMap.Label("起點",{position:myP1});        //創(chuàng)建3個label  
            var lab2 = new BMap.Label("途徑點1",{position:myP2});  
            var lab3 = new BMap.Label("途徑點2",{position:myP3}); 
            var lab4 = new BMap.Label("途徑點3",{position:myP4}); 
            var lab5 = new BMap.Label("終點",{position:myP5});            
     
            map.addOverlay(lab1);  
            map.addOverlay(lab2);  
            map.addOverlay(lab3);
            map.addOverlay(lab4);  
            map.addOverlay(lab5);  
    
              
            setTimeout(function(){  
                map.setViewport([myP1,myP2,myP3,myP4,myP5]);          //調(diào)整到最佳視野  
            },1000);  
              
        });  
    }  
</script>  
</body>  
</html>  

運行效果


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容