百度地圖動態添加軌跡坐標點


  1 <!DOCTYPE html>
  2 <html>
  3 <head>
  4     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5     <title>百度地圖軌跡運動</title>
  6     <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=YOUR KEY"></script>
  7     <style type="text/css">
  8         #allmap {
  9             width: auto;
 10             height: 600px;
 11             border: 1px solid gray;
 12         }
 13 
 14         #user1 {
 15             top: 80px;
 16         }
 17 
 18         #user2 {
 19             top: 200px;
 20         }
 21 
 22         .user-list {
 23             right: 25px;
 24             position: fixed;
 25             border: 1px solid #c0c0c0;
 26             width: 180px;
 27             height: 110px;
 28             background: #fff;
 29             border-radius: 10px;
 30             filter: alpha(Opacity=80);
 31             -moz-opacity: 0.8;
 32             opacity: 0.8;
 33         }
 34 
 35             .user-list ul {
 36                 list-style-type: none;
 37                 padding-left: 10px;
 38             }
 39 
 40                 .user-list ul li {
 41                     padding-bottom: 10px;
 42                 }
 43     </style>
 44 </head>
 45 <body>
 46     經度:<input id="lng" type="text" placeholder="輸入地圖經度">
 47     緯度:<input id="lat" type="text" placeholder="輸入地圖緯度" required="">
 48     <button id="addPoint" onclick="run();">添加軌跡</button><br /><br />
 49     <div id="allmap"></div>
 50     <div id="user1" class="user-list">
 51         <ul>
 52             <li>姓名:張三</li>
 53             <li>職務:3</li>
 54             <li>電話:13552307638</li>
 55         </ul>
 56     </div>
 57     <div id="user2" class="user-list">
 58         <ul>
 59             <li>姓名:李四</li>
 60             <li>職務:3</li>
 61             <li>電話:13552307638</li>
 62         </ul>
 63     </div>
 64     <script type="text/javascript">
 65         //百度地圖API
 66         var map = new BMap.Map("allmap");
 67         map.centerAndZoom(new BMap.Point(116.404, 39.915), 13);
 68         map.enableScrollWheelZoom(true);                            //啟動滾輪放大縮小
 69         map.addControl(new BMap.NavigationControl());               // 添加平移縮放控件
 70         map.addControl(new BMap.ScaleControl());                    // 添加比例尺控件
 71         map.addControl(new BMap.OverviewMapControl());              //添加縮略地圖控件
 72 
 73         var poinArr = new Array();
 74 
 75         poinArr[poinArr.length] = new BMap.Point(106.521436, 29.532288);    //起點默認為重慶
 76         
 77         //起點-重慶         106.521436, 29.532288    添加到文本框的幾點坐標點(測試),注意坐標點需要有規律些喔!
 78         //終點-西安         108.983569, 34.285675
 79         //終點-北京         116.404449, 39.920423
 80         //終點-沈陽         123.432790, 41.808644
 81         window.run = function () {
 82             var log = document.getElementById("lng").value;             //地圖經度
 83             var lat = document.getElementById("lat").value;             //地圖緯度
 84            
 85             //根據用戶添加的點動態添加地圖軌跡
 86             poinArr[poinArr.length] = new BMap.Point(log, lat);
 87             map.clearOverlays();                        //清除地圖上所有的覆蓋物
 88             var driving = new BMap.DrivingRoute(map);    //創建駕車實例
 89 
 90             if (poinArr.length > 1) {
 91                 for (var i = 1; i < poinArr.length; i++) {
 92                     driving.search(poinArr[i - 1], poinArr[i]);
 93                 }
 94             }
 95             driving.setSearchCompleteCallback(function () {
 96                 var pts = driving.getResults().getPlan(0).getRoute(0).getPath();    //通過駕車實例,獲得一系列點的數組
 97                 var polyline = new BMap.Polyline(pts);
 98                 map.addOverlay(polyline);
 99                 var m1 = new BMap.Marker(poinArr[0]);
100                 map.addOverlay(m1);                                         //紅標記
101                 lab1 = new BMap.Label("起點", { position: poinArr[0] });
102                 map.addOverlay(lab1);                                       //標記起點
103                 for (var i = 1; i < poinArr.length; i++) {
104                     var m = new BMap.Marker(poinArr[i]);
105                     map.addOverlay(m);
106                     lab = new BMap.Label("終點", { position: poinArr[i] });
107                     map.addOverlay(lab);
108                 }
109                 setTimeout(function () {
110                     map.setViewport(poinArr);          //調整到最佳視野
111                 }, 1000);
112             });
113         }
114     </script>
115 </body>
116 </html>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM