Ich habe versucht, diese example anpassen, um eine Broschüre Schicht basierend auf der Checkbox ID zu filtern. Es funktioniert, wo das aktivierte Objekt gefüllt wird und die entsprechende Funktion gefiltert und der Karte hinzugefügt wird.Filter Leaflet Geojson-Objekt basierend auf Checkbox-Status
Wenn ich jedoch das Kontrollkästchen deaktiviert, wird das Box-Objekt leer, aber das Feature bleibt auf der Karte, da nichts zu sagen ist, wenn es entfernt werden soll.
Was muss ich hier tun, um die Funktion zu entfernen?
function update() {
var enabled = {};
// Run through each checkbox and record whether it is checked. If it is,
// add it to the object of types to display, otherwise do not.
for (var i = 0; i < checkboxes.length; i++) {
if (checkboxes[i].checked) enabled[checkboxes[i].id] = true;
}
L.geoJson(parishesData, {
filter: function(feature, layer) {
return (feature.properties.name in enabled);
}
}).addTo(map);
console.log(enabled)
};
Das ist großer Dank! Ich habe etwas ähnliches versucht, aber habe die L.geoJson-Gruppe nicht jedes Mal entfernt. –