<em id="09ttv"></em>
    <sup id="09ttv"><pre id="09ttv"></pre></sup>
    <dd id="09ttv"></dd>

        • 獲取json數據后在 地圖上打點,根據 json不斷移動點的位置

          2018-4-10    seo達人

          如果您想訂閱本博客內容,每天自動發到您的郵箱中, 請點這里

          <?php echo <<<_END <!doctype html>
          <html>
          <head>
              <meta charset="utf-8">
              <meta http-equiv="X-UA-Compatible" content="IE=edge">
              <meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
              <title>點標記</title>
              <link rel="stylesheet" />
              <style>
                  .marker {
                      color: #ff6600; padding: 4px 10px;
                      border: 1px solid #fff; white-space: nowrap;
                      font-size: 12px;
                      font-family: "";
                      background-color: #0066ff;  } </style>
              <script src="http://webapi.amap.com/maps?v=1.3&key=您申請的key值"></script>
              <script type="text/javascript" src="http://cache.amap.com/lbs/static/addToolbar.js"></script>
          </head>
          <body>
          <div id="container"></div>
          <script> var marker, map = new AMap.Map("container", {
                  resizeEnable: true, center: [126.60580555556, 45.702363888889], zoom: 13 }); var getJSON = function(url) { return new Promise(function(resolve, reject) { var xhr = new XMLHttpRequest();
                  xhr.open('get', url, true);
                  xhr.responseType = 'json';
                  xhr.onload = function() { var status = xhr.status; if (status == 200) {
                      resolve(xhr.response);
                    } else {
                      reject(status);
                    }
                  };
                  xhr.send();
                });
              };
          
              getJSON('http://web.cellpies.com/api/driving/getVehicleLocationPoints?vehicleDeviceId=0400000000030603&timeType=4&startTime=2017-03-17%2013:00:00&stopTime=2017-03-17%2014:00:00').then(function(jdata) { //alert('Your Json result is:  ' + jdata); //you can comment this, i used it to debug
                  //alert(jdata.data[0].gpsx);
                  //alert(jdata.data[0].gpsy); window.i=0; //addMarker(jdata.data[i].gpsx,jdata.data[i].gpsy); setInterval(function () { addMarker(jdata.data[window.i].gpsx,jdata.data[window.i].gpsy); },"1000");
          
              }, function(status) { //error detection.... alert('Something went wrong.');
              }); // 實例化點標記 function addMarker(v1,v2) {
          
               window.i+=10;
                  marker = new AMap.Marker({
                      icon: "http://webapi.amap.com/theme/v1.3/markers/n/mark_b.png", position: [v1,v2]
                  });
                  marker.setMap(map);
              } </script>
          </body>
          </html>
          
          </script>
          </body>
          </html> _END; ?>

          效果圖

          -----------------------------------------------------------------------更新---------------------------------------------------------

          去掉連續顯示多個點,每次只顯示一個點

          <?php echo<<<_END <!doctype html>
          <html>
          <head>
              <meta charset="utf-8">
              <meta http-equiv="X-UA-Compatible" content="IE=edge">
              <meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
              <title>點標記</title>
              <link rel="stylesheet" />
              <style>
                  .marker {
                      color: #ff6600; padding: 4px 10px;
                      border: 1px solid #fff; white-space: nowrap;
                      font-size: 12px;
                      font-family: "";
                      background-color: #0066ff;  } </style>
              <script src="http://webapi.amap.com/maps?v=1.3&key=您申請的key值"></script>
              <script type="text/javascript" src="http://cache.amap.com/lbs/static/addToolbar.js"></script>
          </head>
          <body>
          <div id="container"></div>
          <script> var marker, map = new AMap.Map("container", {
                  resizeEnable: true, center: [126.60580555556, 45.702363888889], zoom: 13 }); var getJSON = function(url) { return new Promise(function(resolve, reject) { var xhr = new XMLHttpRequest();
                  xhr.open('get', url, true);
                  xhr.responseType = 'json';
                  xhr.onload = function() { var status = xhr.status; if (status == 200) {
                      resolve(xhr.response);
                    } else {
                      reject(status);
                    }
                  };
                  xhr.send();
                });
              };
          
              getJSON('http://web.cellpies.com/api/driving/getVehicleLocationPoints?vehicleDeviceId=0400000000030603&timeType=4&startTime=2017-03-17%2013:00:00&stopTime=2017-03-17%2014:00:00').then(function(jdata) {
                  addMarker(jdata.data[0].gpsx,jdata.data[0].gpsy);
                  window.i=1; //updateMarker(jdata.data[1].gpsx,jdata.data[1].gpsy); setInterval(function () { updateMarker(jdata.data[window.i].gpsx,jdata.data[window.i].gpsy); },"1000");
          
              }, function(status) { //error detection.... alert('Something went wrong.');
              }); // 實例化點標記 function addMarker(v1,v2) {
          
                  marker = new AMap.Marker({
                      icon: "http://webapi.amap.com/theme/v1.3/markers/n/mark_b.png", position: [v1,v2]
                  });
                  marker.setMap(map);
              } function updateMarker(v1,v2) { //在地圖上更新標記
                  // 自定義點標記內容 window.i+=10; var markerContent = document.createElement("div"); // 點標記中的圖標 var markerImg = document.createElement("img");
                  markerImg.className = "markerlnglat";
                  markerImg.src = "http://webapi.amap.com/theme/v1.3/markers/n/mark_r.png";
                  markerContent.appendChild(markerImg); // 點標記中的文本 var markerSpan = document.createElement("span");
                  markerSpan.className = 'marker';
                  markerSpan.innerHTML = "Hi,我換新裝備啦!";
                  markerContent.appendChild(markerSpan);
          
                  marker.setContent(markerContent); //更新點標記內容 marker.setPosition([v1,v2]); //更新點標記位置  } </script>
          </body>
          </html>
          
          </script>
          </body>
          </html> _END; ?>

           

          涉及setInterval傳參的問題。

          發現用addMarker(jdata.data[i].gpsx,jdata.data[i].gpsy);時程序可正常運行,但是將該函數 放到setInterval中后卻出現了問題,可通過閉包解決。

          藍藍設計m.sdgs6788.com )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 、平面設計服務

          日歷

          鏈接

          個人資料

          藍藍設計的小編 http://m.sdgs6788.com

          存檔

          国产成人无码精品久久久免费| 亚洲精品无码久久久久去q | 久久亚洲春色中文字幕久久久| 久久久久综合国产欧美一区二区| 久久综合久久久| 国产精品成人99久久久久91gav| 国产精品一区二区久久精品| 久久er国产精品免费观看8| 少妇久久久久久被弄到高潮| 久久久久人妻一区精品性色av| 久久精品国产影库免费看| 久久国产精品免费一区| 久久精品免费一区二区| 日韩欧美亚洲综合久久影院d3| 久久人人爽人人澡人人高潮AV | 国产日韩久久免费影院| 久久国产欧美日韩精品| 丁香久久婷婷国产午夜视频| 久久精品卫校国产小美女| 中文精品久久久久国产网址| 999久久久免费精品国产| 国内精品久久久久影院薰衣草 | 久久久女人与动物群交毛片| 久久一区二区三区99| 国内精品伊人久久久久| 午夜久久久久久禁播电影| 色偷偷91久久综合噜噜噜噜| 久久精品国产91久久综合麻豆自制| 性高湖久久久久久久久| 亚洲欧美日韩久久精品| 久久人人爽爽爽人久久久| 欧美亚洲日本久久精品| 91精品日韩人妻无码久久不卡| 久久久久亚洲精品天堂| 亚洲国产日韩欧美久久| 亚洲国产精品无码久久青草| 精品久久久久久久久久中文字幕 | 婷婷国产天堂久久综合五月| 久久国产精品国语对白| 国产伊人久久| 亚洲国产综合久久天堂|