私は部屋のインタラクティブマップを作成します。スペースプランがある家の地図上で強調表示されます。部屋を明るくする計画に。 デフォルトは、部屋のオーバーレイイルミネーションを有効にし、オーバーレイマーカーを無効にしたオープンフロアプランです。 さらに、3つのレイヤーのオーバーレイをグループから隠してマップから削除するマップに切り替えると、あなたが戻って、建物の計画に戻ったときbaselayerが変更されたとき、リーフレットでオーバーレイを有効/無効にする方法は?
map.removeLayer(roomsOverlay);
map.removeLayer(markersOverlay);
map.removeLayer(bld2_1_lbls);
layerControl.removeLayer(roomsOverlay);
layerControl.removeLayer(markersOverlay);
layerControl.removeLayer(bld2_1_lbls);
は今3オーバーレイ
layerControl.addOverlay(roomsOverlay,"Rooms");
layerControl.addOverlay(markersOverlay,"markersOverlay");
layerControl.addOverlay(bld2_1_lbls,"lab");
を返却しなければならないが、今これらのオーバーレイは、彼らがlayercontrolにチェックされていることを行う方法を、無効になっていますか? また、地図のオーバーレイに切り替えるときにアクティブにしたい。
デモ:http://plnkr.co/edit/do27UnlRoWaEyqrs8VHe?p=preview
P.S.
map.on('baselayerchange', function(e) {
if (e.name=="cartoDBmap")
{/*some code*/
map.removeLayer(roomsOverlay); //if not remove they can be seen on Africa
map.removeLayer(markersOverlay);
map.removeLayer(bld2_1_lbls);
layerControl.removeLayer(roomsOverlay);
layerControl.removeLayer(markersOverlay);
layerControl.removeLayer(bld2_1_lbls);
layerControl.addOverlay(buildingsOverlay,"buildings"); //how make it checked on layercontrol?
}
else
{/*some code*/
layerControl.addOverlay(roomsOverlay,"Rooms"); //how make it checked on layercontrol?
layerControl.addOverlay(markersOverlay,"markersOverlay");
layerControl.addOverlay(bld2_1_lbls,"lab");
layerControl.removeLayer(buildingsOverlay);
map.removeLayer(buildingsOverlay);
}
console.log(layerControl);
});
はい、私はそれを使用します。しかし、私がオーバーレイを追加すると、アクティブではありません(チェックボックスは無効になります)。それをチェックする必要があります。 – xetocumav