我每分钟都有多台设备发送GPS数据。每个设备都有MAC地址,可以识别特定设备是否已发送数据。因此,无论何时设备发送GPS数据事件都将发生,并且下面的代码将运行。它还会显示标记。
sock.onmessage = function(evt){
var data = JSON.parse(evt.data);
var latlng = data.GPS_Data;
var array = $.map(latlng, function(el) {
return [[el.lat, el.lng]];
});
map.addMarker({
lat:latlng[0].lat,
lng:latlng[0].lng,
infoWindow: {
content: JSON.stringify(data)
},
mouseover: function() {
this.infoWindow.open(this.map, this);
},
mouseout: function() {
this.infoWindow.close();
}
});
}
现在,问题是当同一设备发生不同位置的事件时,它将显示为不同的标记,而不是删除旧标记并添加新标记。我知道我可以使用map.removeMarkers();
删除标记,但问题是它会删除所有标记。
问题:如何在不触及其他设备的所有标记的情况下更新特定MAC地址的特定标记(每当该设备发生事件时)?
有没有更好的方法来解决这个问题?
由于