私は別々のgeoJSONファイルからロードする3つのレイヤーを備えたリーフレットマップを持っています。 私は、それぞれにlatlong座標とラベルを持つ3つの追加ファイルを持っています。リーフレット:アクティブなレイヤーに応じてラベルを切り替える
私は3つのレイヤーを切り替えるためにbasemap control.layersを使用しています。アクティブなベースマップレイヤーに応じて、ラベルレイヤーを有効にするオーバーレイレイヤーチェックボックスが必要です。
var basemaps= {
"layer1": layer1,
"layer2": layer 2,
"layer3": layer 3
};
私はラベルをまとめて保存するためにlayerGroupsを使用しています。 ActiveLayerプラグインを使用して、現在アクティブなベースレイヤーを選ぶのを手伝ってみましたが、何かが常に順不同であるようです。
私はjavascriptを初めて使っています。
私の制御コードの残り:
var picker = L.control.activeLayers(basemaps, showlabels {collapsed:false}).addTo(map);
if (picker.getActiveBaseLayer() == "layer1")
{activelabel = label1};
if (picker.getActiveBaseLayer() == "layer2")
{activelabel = label2};
if (picker.getActiveBaseLayer() == "layer2")
{activelabel = label3};
var showlabels = {
"labels": activelabel
};
これを行うには良い方法はありますか?私は自分のレイヤーのラジオボタンと、ラジオボタンがチェックされているかどうかに応じてラベルを変更する私のレーベル用のチェックボックスを1つ持っています。私はこのコードを見つけ
EDIT
、私はそれは私に、活性層を伝えにconsole.logを行う際baselayerchange
map.on('baselayerchange', function(a) {
if (picker.getActiveBaseLayer().name == "layer1")
{activelabel = label1};
if (picker.getActiveBaseLayer().name == "layer2")
{activelabel = label2};
if (picker.getActiveBaseLayer().name == "layer3")
{activelabel = labels3};
});
何かをするようだが、何らかの理由でそれが更新イマイチどのラベルが表示されています。
すごくすごい!どうもありがとうございます! – threkar