0
我有我的數據庫中存儲的圖層樣本,我試圖在面板中顯示此圖層的名稱,每個圖層都與一個複選框相關聯。當我檢查每個checkbow時,我想在地圖上添加其對應圖層,並在複選框未選中時將其從地圖中刪除。我的問題是我無法從地圖中刪除圖層。 這裏是我的PHP和jQuery代碼片段:使用複選框打開和關閉圖層
** jQuery的文件**
$.get($("#myForm5").attr("action"),
$("#myForm5 :input").serializeArray(),
function(data) {
$("#Liste").html(data);
$('input[id^="DisplayCheckbox"]').on('change', function()
{
var CoordItem = $(this).parents("div.parent").find("li#Lis te").text();
var content = $(this).val();
var DataItem = $(this).parents("div.parent").find("li#ListeData").text();
var array = DataItem.split(',');
var dataDomaine = $.parseJSON(CoordItem);
var geojsonFeature =
{
"type": "Feature",
"properties": {
"name": content,
},
"geometry": {
"type": dataDomaine.type,
"coordinates":dataDomaine.coordinates
}
};
var layer = L.geoJson(geojsonFeature);
if($(this).is(":checked"))
{
layer.addTo(map);
map.fitBounds(layer.getBounds());
}else
{
map.removeLayer(layer);
});//end change checkbox
});//end get function
PHP文件
<?php
......
echo '<ul>'
echo '<div id="' . $row2['nom'] . '" class="col-sm-10 parent"><li class="Liste" id="idListe">' . $row2['nom'] . '</li>
<div class="checkbox DisplayLayer">
<label><input type="checkbox" name="id" id="DisplayCheckbox" value="' . $row2['nom'] . '"></label></div>
<li id="ListeData" name="id" style="display:none;">' . $tostring. '</li>';
.......
echo '<li id="ListeGeom" name="id" style="display:none;">' . $row3[0]. '</li></div><br/>';
echo '</ul>
?>
我會盡力的,謝謝@Sebastian舒爾茨 – nermiiine
我面臨的一個問題,我無法弄清楚如何動態地創建此ID,因爲層添加到動態映射當每個複選框被選中,我不知道如何更改每個圖層的圖層ID。你能幫我嗎? – nermiiine
我還沒有找到解決我的問題 – nermiiine