ユーザーがメニューからレイヤをチェックするときにポップアップするモーダルウィンドウがあります。ユーザーは、このモーダルウィンドウを閉じるには、ウィンドウ上の "X"アイコンをクリックするか、マップをクリックします。 しかし、ユーザーがメニューからレイヤのチェックを外すと、再びモーダルがポップアップします。コントロールからレイヤのチェックを外したときにモーダルウィンドウを閉じる方法
ユーザーがメニューからレイヤーをオフにしたときにモーダルが再度ポップアップしないように、コードを書くのに助けが必要です。
注:マップ用にはリーフレットを、モーダル用にはブートストラップを使用しています。カスタムメニューコントロールのための
<label><input id="myRoute" type="checkbox" class="check">My Route</label>
JS:
var overlaysMenuCtrl = L.Control.extend({ ... blah blah... });
map.addControl(new overlaysMenuCtrl)());
カスタムレイヤーメニューの <div id="myRouteModal">blah blah</div>
HTML:モーダルため
HTML:
は、ここに私の仮説的なコードです の
JS:
function toggleLayer(checked, layer){
if(checked){
map.addLayer(layer);
} else {
map.removeLayer(layer);
}
}
$(".check").change(function(){
var layerClicked = $(this).attr("id");
//Turn layers on and off based on the ID of the radio checked
switch(layerClicked){
case "myRoute": toggleLayer(this.checked, myRoute);
$('myRouteModal').modal(modalOptions);
break;
...and other layers ...
}
});
気にしていますか?それは私の目的のために働くことができません。 – redshift
ありがとう!それがトリックでした! – redshift
私はお手伝いできることを嬉しく思います。 – Dario