无法从传单地图中删除标记。不使用图层
Cant remove markers from leaflet map. Not using layers
刚刚发现 Leafletjs 并喜欢它。当我的 json 为空或无效时,我一直试图删除我的所有制造商,但我无法正确处理。每次我的 json 更新时,我都尝试了所有不同的方法 blink/flash,这是我设法获得的最接近的方法。
任何帮助都会很棒。我对制造商不眨眼地移动和更新的例子如此之少感到震惊……我真的不想使用 google 地图!
我尝试重置 makers = {};但这什么也没做。
谢谢
data.BMS.forEach(function (obj) {
if (obj.lat !== undefined && obj.lng !== undefined) {
if (!markers.hasOwnProperty(obj.id)) {
markers[obj.id] = new L.Marker([obj.lat, obj.lng], {icon: panicNormal}).addTo(map) .bindTooltip(obj.name,
{
permanent: true,
direction: 'top',
offset: [0, 0]
});
markers[obj.id].previousLatLngs = [];
areaBounds.push([obj.lat, obj.lng]);
} else {
areaBounds.push([obj.lat, obj.lng]);
markers[obj.id].previousLatLngs.push(markers[obj.id].getLatLng());
if(obj.status == "TRUE"){
markers[obj.id].setIcon(panicAlarm);
}else{
if(obj.type == "MO"){
markers[obj.id].setIcon(panicNormal);
}else{
markers[obj.id].setIcon(lora);
}
}
markers[obj.id].setLatLng([obj.lat, obj.lng]);
}
}else{
//How do I remove the markers
}
});
您可以使用 L.FeatureGroup()
添加所有标记,然后使用 .clearLayers()
删除所有标记
var fg = L.featureGroup().addTo(map);
...
markers[obj.id] = new L.Marker([obj.lat, obj.lng], {icon: panicNormal}).addTo(fg) .bindTooltip
...
}else{
//How do I remove the markers
fg.clearLayers();
}
刚刚发现 Leafletjs 并喜欢它。当我的 json 为空或无效时,我一直试图删除我的所有制造商,但我无法正确处理。每次我的 json 更新时,我都尝试了所有不同的方法 blink/flash,这是我设法获得的最接近的方法。
任何帮助都会很棒。我对制造商不眨眼地移动和更新的例子如此之少感到震惊……我真的不想使用 google 地图!
我尝试重置 makers = {};但这什么也没做。 谢谢
data.BMS.forEach(function (obj) {
if (obj.lat !== undefined && obj.lng !== undefined) {
if (!markers.hasOwnProperty(obj.id)) {
markers[obj.id] = new L.Marker([obj.lat, obj.lng], {icon: panicNormal}).addTo(map) .bindTooltip(obj.name,
{
permanent: true,
direction: 'top',
offset: [0, 0]
});
markers[obj.id].previousLatLngs = [];
areaBounds.push([obj.lat, obj.lng]);
} else {
areaBounds.push([obj.lat, obj.lng]);
markers[obj.id].previousLatLngs.push(markers[obj.id].getLatLng());
if(obj.status == "TRUE"){
markers[obj.id].setIcon(panicAlarm);
}else{
if(obj.type == "MO"){
markers[obj.id].setIcon(panicNormal);
}else{
markers[obj.id].setIcon(lora);
}
}
markers[obj.id].setLatLng([obj.lat, obj.lng]);
}
}else{
//How do I remove the markers
}
});
您可以使用 L.FeatureGroup()
添加所有标记,然后使用 .clearLayers()
var fg = L.featureGroup().addTo(map);
...
markers[obj.id] = new L.Marker([obj.lat, obj.lng], {icon: panicNormal}).addTo(fg) .bindTooltip
...
}else{
//How do I remove the markers
fg.clearLayers();
}