Ich habe Echtzeit-GPS-Positionen für ein paar Autos und ich möchte eine Karte mit Update-Markierungen erstellen. Mein Code funktioniert, aber er "aktualisiert" die Markierungen nicht, sondern fügt neue Objekte mit neuen Koordinaten zur Flugblattkarte hinzu. Nach ein paar Minuten ist meine Karte voller Marker. Was mache ich falsch? Hier ist mein Grundkonzept.Wie aktualisiere ich die Position von Markern mit Echtzeit-GPS-Koordinaten?
var intervalV = document.getElementById("intervalValue").value * 1000;document.getElementById("setIntervalButton").onclick = startData;
function startData() {
DataInterval = window.setInterval(getNewData, intervalV);
};
Funktion getNewData() {$ .getJSON (Server, { Spaß: "GetGpsData", userId: "user", sessionId:. $ ("# SessionId") val() }, fillMap) ; }
Funktion 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(); } } }
};