<strike id="cy2gs"><menu id="cy2gs"></menu></strike>
  • <del id="cy2gs"><dfn id="cy2gs"></dfn></del>
  • 獲取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中后卻出現了問題,可通過閉包解決。

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

    日歷

    鏈接

    個人資料

    藍藍設計的小編 http://www.skdbbs.com

    存檔

    主站蜘蛛池模板: 国产精品嫩草影院AV| 91人前露出精品国产| 欧美精品在线一区二区三区| 亚洲欧美激情精品一区二区| 国产精品无码专区在线观看| 99香蕉国产精品偷在线观看| 亚洲精品无码av人在线观看| 热综合一本伊人久久精品| 国产成人精品曰本亚洲79ren | 中文字幕精品无码一区二区| 国产乱码精品一区二区三| 亚洲精品线在线观看| 精品视频一区二区三区免费| 国产精品无码专区| 久久永久免费人妻精品下载| 中文成人无字幕乱码精品区| 精品一区二区三区高清免费观看| 永久免费精品视频| 国产精品99精品无码视亚| 精品无码一区二区三区爱欲| 亚洲国产精品无码久久98| 亚洲国产成人乱码精品女人久久久不卡 | 国产精品美女久久久久久2018| 亚洲av午夜福利精品一区人妖| 无码欧精品亚洲日韩一区夜夜嗨| 精品国产一区二区22| 国产精品午夜免费观看网站| 高清在线国产午夜精品| 99久久精品免费| 51国偷自产精品一区在线视频| 午夜精品视频在线| 99re只有精品8中文| 国产成人精品免费视频大全| 国产999精品久久久久久| 国产成人精品福利网站在线观看 | 久久精品国产一区| 久久国产精品一区二区| 亚洲午夜精品久久久久久人妖| 日韩精品在线免费观看| 国产精品熟女福利久久AV| 国产精品自在拍一区二区不卡|