2017-05-22 5 views
1

レイヤーコントロールパネルでユーザーが切り替えることができる2つのレイヤーグループがあります。今のところうまくいきます。Leaflet.js - 選択されたオーバーレイを見つける

現在選択されているオーバーレイ(0 == aまたは1 == b)を調べるにはどうすればよいですか? 2分ごとにレイヤーグループをペイントする関数(window.setTimeout( "myFunction()"、120 * 1000);)を呼び出し、選択したレイヤーグループだけを確実に "再描画"したいと考えています。

これは、私がマップに2つのオーバーレイのコントロールを追加する方法です:

var a = new L.LayerGroup(); 
var b = new L.LayerGroup(); 

var overlays = { 
     "Option A": a, 
     "Option B": b 
    }; 

L.control.layers(overlays).addTo(map); 

答えて

2

いくつかの方法があります。レイヤーを追加または削除するマップイベントを聴くことができます。レイヤーコントロールパネルにさらにイベントハンドラを追加することができます。

私の個人的な選択は、map.hasLayer(a)を呼び出すことです。これはブール値を返し、非常に自己説明的です。 hasLayer() documentationを参照してください。

+0

ありがとう、私はhasLayer()ソリューションのために目が見えませんでした。 – voland

関連する問題