所有,我想檢測用戶層選擇,以同步我的邊欄與顯示的圖層。傳單層控制事件?
但我沒有在API參考中看到任何圖層控制事件;如何知道何時發生這種用戶層選擇?
作爲一種替代方法,我查看了圖層加載和卸載事件,但在返回的內容中看不到任何標識。不知怎的,我想念了嗎?
所有,我想檢測用戶層選擇,以同步我的邊欄與顯示的圖層。傳單層控制事件?
但我沒有在API參考中看到任何圖層控制事件;如何知道何時發生這種用戶層選擇?
作爲一種替代方法,我查看了圖層加載和卸載事件,但在返回的內容中看不到任何標識。不知怎的,我想念了嗎?
有一些事件,讓你知道當用戶激活/ desactivates 。一個層
這可能會幫助您:
http://leafletjs.com/reference.html#control-layers-baselayerchange
例如:
map.on('overlayadd', onOverlayAdd);
function onOverlayAdd(e){
//do whatever
}
就是這樣。謝謝! – user1032402
只有當用戶通過控件手動添加圖層,或者*任何*時間圖層被添加 - 甚至通過代碼自動添加圖層時,它是否會觸發? – Rikaelus
http://leafletjs.com/reference-1.0.3.html#map-baselayerchange。更新了@Adrian Garcia的網址 – Greg
你可能自己的「改變」事件綁定到單張層控制單選按鈕使用jQuery這樣的:
$("[name='leaflet-base-layers']").change(function() {
alert('Layers selected: ' + $(this).parent().text());
});
我希望我可以使用本地的Leaflet,非JQuery圖層控件,但我開始懷疑這是不可能的。關於哪種圖層,我會滿意的。 – user1032402
我還沒有真正嘗試尚未使用它,但這個插件看起來很有希望: https://github.com/vogdb/Leaflet.ActiveLayers
我打算在我的一個項目中嘗試一下,因爲這是一個非常有用的功能。
這裏有定義http://leafletjs.com/reference.html#control-layers 它只是綁定到地圖對象「baselayerchange」事件,你是好去。
map.on('baselayerchange', function(e) {
console.log(e);
});
哪種圖層? –