mein Problem mit klicken I Schicht jedes Kontrollkästchen nicht entfernen können, hatte ich bereits dieses Problem veröffentlichen, leider habe ich keine Antwort bekommen. Ich versuche nun, für jedes angeklickte Kontrollkästchen die Ebenengruppe zu verwenden, die ich der Ebene hinzufüge. Als ich jedoch versuchte, jede Ebene zu entfernen, löschte ich die letzte, sodass ich bemerkte, dass die Ebenen nicht zur Ebenengruppe hinzugefügt wurden. Also, wie Layer dynamisch zur Layergruppe hinzugefügt werden, mit anderen Worten: Wie schaffe ich jedes Mal Layer, wenn ich auf ein bestimmtes Kontrollkästchen geklickt habe? Kannst du mir bitte helfen herauszufinden, was das Problem ist? Jede Hilfe wird geschätzt. Hier ist ein Code-Snippet:Kann nicht Schichten hinzufügen, dynamisch Gruppe Schicht, wenn Kontrollkästchen Leaflet
PHP-Datei:
<script type="text/javascript">
$(document).ready(function(){
$('input[id^="DisplayCheckbox"]').on('click',function()
{
parent = $(this).val();
Coord = $(this).parents('#' + parent).find("li.Liste").text();
window.valChk = $(this).val();
if($(this).is(":checked"))
{
valChk = $(this).val();
$.drawPoly(Coord);
}else
{
$.removePoly(valChk);
}
});
});
</script>
externe Jquery-Datei:
$.drawPoly = function(data)
{
data = $.parseJSON(data);
var geojsonFeature =
{
"type": "FeatureCollection",
"features": [{
"type": "Feature",
"geometry": {
"type": data.type,
"coordinates": data.coordinates
}
}]
};
window.poly=L.geoJson(geojsonFeature);
poly.id = valChk;
layerGrp=L.layerGroup([poly]);
addLayer(valChk);
};
function addLayer(id){
layerGrp.eachLayer(function (layer) {
if(layer.id == id){
layerGrp.addLayer(layer).addTo(map);
map.fitBounds(layer.getBounds());
console.log(layer._leaflet_id);
}
});
}
$.removePoly = function(id)
{
layerGrp=L.layerGroup([poly]);
layerGrp.eachLayer(function (layer) {
if(layer.id == id)
{
console.log(layer._leaflet_id);
layerGrp.removeLayer(layer);
}
});
};
yep @ghybs du hast recht, ich versuche es einfach zu machen, und ich werde Ihnen sagen, wenn ich das Problem lösen oder nicht :). Über diese Zeile layerGrp = L.layerGroup ([poly]) in der remove-Funktion, lösche ich sie bereits, aber immer noch nicht, also denke ich, dass die Layergruppe keine Layer speichert – nermiiine