我有几辆车的实时GPS位置,我想创建一个带有更新标记的地图。我的代码有效,但是它不会“更新”标记,而是向传单地图添加具有新坐标的新对象。几分钟后,我的地图上充满了标记。我做错了什么?这是我的基本概念。
var intervalV = document.getElementById("intervalValue").value * 1000;document.getElementById("setIntervalButton").onclick = startData;
function startData() {
DataInterval = window.setInterval(getNewData, intervalV);
};
函数getNewData(){
$ .getJSON(server,{
好玩:“ GetGpsData”,
userId:“用户”,
sessionId:$(“#sessionId”)。val()
},fillMap);
}
函数fillMap(json){for (var i = 0; i < json.devicesData.length; i++) { var positions = json.devicesData[i].positions.length; var devicepostiion; if (json.devicesData[i].connected == false ) { var devicepostion = L.marker([json.devicesData[i].positions[positions - 1].lat, json.devicesData[i].positions[positions - 1].lon], { icon : offlineCarIcon }, { draggable : false }).addTo(map); } else { devicepostion = new L.marker(, { icon : onlineCarIcon }); devicepostion.addTo(map).setLatLng([json.devicesData[i].positions[positions - 1].lat, json.devicesData[i].positions[positions - 1].lon]).update(); } }}
};最佳答案
如果您的目标是使用新的视觉外观和位置来更新标记(如果它们已经存在于地图上),那么您应该在现有标记上使用
.setIcon
和.setLatLng
而不是新建一个。
在两种情况下,您当前的代码都会创建新的标记。关于javascript - 如何使用实时GPS坐标更新标记的位置?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38192198/