我有几辆车的实时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/

10-11 12:56