моя проблема: я не могу удалить слой каждого флажка, я уже опубликовал эту проблему, к сожалению, я не получил никакого ответа. Теперь я пытаюсь использовать группу слоев, которую я добавляю к ней для каждого щелкнутого флажка, но когда я пытался удалить каждый слой, он удаляет последний, поэтому я заметил, что слои не добавляются в группу слоев. Итак, как добавить слои в группу слоев динамически, другими словами как добавить слой каждый раз, когда я нажал на данный флажок? Можете ли вы мне помочь, чтобы выяснить, в чем проблема? Любая помощь приветствуется. Вот фрагмент кода:Невозможно добавить слои динамически в группу слоев при щелчке флажков с помощью Листовки
PHP файл:
<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>
внешний JQuery файл:
$.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, вы правы, я пытаюсь сделать его более простым, и я скажу вам, разрешу ли я проблему или нет :). Об этом линейном уровнеGrp = L.layerGroup ([poly]) в функции удаления, я уже удаляю его, но все еще не работаю, поэтому я думаю, что группа слоев не сохраняет слои – nermiiine