我正在使用Leaflet并使用了layerselector。
我现在的问题是我这样定义我的图层:
var mymaps = {
"Overlay 1": new L.geoJson(...)
"Overlay 2": new L.geoJson(...)
}
L.control.layers(mymaps).addTo(mymap);
我想要的是能够做到:
var mymaps = {
"Overlay 1": new L.geoJson(...)
"Overlay 2": new L.geoJson(...)
"Overlay 3": function() {
console.log("Overlay 3 Selected");
// call some other methods to pull in data and affect map
}
}
我该怎么做?有可能吗?
答案 0 :(得分:0)
使用L.Control.Layers
时,您的地图实例会触发baselayerchange
,overlayadd
和overlayremove
个事件。在您的情况下,您需要baselayerchange
事件:
通过图层控件更改基础图层时触发。
参考:http://leafletjs.com/reference-1.2.0.html#map-baselayerchange
map.on('baselayerchange', function (e) {
console.log(e.name); // The name of the layer that was added or removed.
console.log(e.layer); // The layer that was added or removed.
});