2018-4-10 seo達人
如果您想訂閱本博客內(nèi)容,每天自動發(fā)到您的郵箱中, 請點這里
效果圖
-----------------------------------------------------------------------更新---------------------------------------------------------
去掉連續(xù)顯示多個點,每次只顯示一個點
涉及setInterval傳參的問題。
發(fā)現(xiàn)用addMarker(jdata.data[i].gpsx,jdata.data[i].gpsy);時程序可正常運行,但是將該函數(shù) 放到setInterval中后卻出現(xiàn)了問題,可通過閉包解決。
<?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) { //在地圖上更新標記
// 自定義點標記內(nèi)容 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); //更新點標記內(nèi)容 marker.setPosition([v1,v2]); //更新點標記位置 } </script>
</body>
</html>
</script>
</body>
</html> _END; ?>