私は問題を抱えていますが、私はそれを2日以内に解決しようとしていますので、postgresデータベースからデータを取得します。チェックボックスをクリックすると、指定したチェックボックスをクリックすると、リーフレットを使用して地図上に対応するレイヤーが表示されます。私の目的は、このレイヤーを動的に作成して、指定されたチェックボックスをオフにしたときに各レイヤーを削除できるようにすることです。各チェックボックスをクリックすると、関連する要素の座標をデータベースから検索してマップに表示できますが、チェックボックスをオンにすると、このチェックボックスの対応するレイヤではなく最後のレイヤが常に削除されます。私は明らかに希望します。どんな助けもありがとうございます。あなたは以下の私のコードを見つけます:リーフレットを使用して各チェックボックスに関連付けられたレイヤーを削除することはできません
をPHPファイルのスニペット:
while ($row = pg_fetch_array($result))
{
echo '<div id="' . $row['nom'] . '" class="col-sm-10"><li class="Liste">' . $row['nom'] . '</li>
<div class="checkbox chk">
<label><input type="checkbox" name="id" id="DisplayCheckbox" value="' . $row['nom'] . '"></label>
</div>';
$variable=$row2['nom'];
if($result)
{
$query2 = "SELECT st_asgeojson(st_transform(geom,4326)) from domaine where nom='$variable'";
$result2 = pg_query($query2);
while ($row2 = pg_fetch_array($result2))
{
echo '<li class="Liste" name="id" style="display:none;">' . $row2[0]. '</li></div><br/>';
}
}
}
echo '</ul>'
}
?>
<script type="text/javascript">
$(document).ready(function(){
$('input[id^="DisplayCheckbox"]').on('click',function()
{
parent = $(this).val();
Item = $(this).parents('#' + parent).find("li.Liste").text();
if($(this).is(":checked"))
$.drawCategory(geoItem);
else
$.removeItem(CategoryItem);
});
});
</script>
外部jqueryのファイル:
$.drawCategory = function(data)
{
dataCategory = $.parseJSON(data);
var geojsonFeature =
{
"type": "FeatureCollection",
"features": [{
"type": "Feature",
"geometry": {
"type": dataCategory.type,
"coordinates": dataCategory.coordinates
}
}]
};
Item=L.geoJson(geojsonFeature).addTo(map);
map.fitBounds(Item.getBounds());
};
$.removeItem = function()
{
map.removeLayer(Item);
};
コード内の角括弧と中括弧が一致せず、構文エラーが発生します。それをもう一度確認してください。 – IvanSanchez
それは終わりましたが、コードを実行したときに構文エラーが発生しないので、入力エラーです。 @IvanSanchezあなたは私の問題を解決するための任意のアイデアを持っていますか? – nermiiine