Leaflet 如何将事件绑定到传单图层切换程序,而不将其绑定到图层?

Leaflet 如何将事件绑定到传单图层切换程序,而不将其绑定到图层?,leaflet,Leaflet,我正在使用传单和图层选择器 我的问题是我现在定义的图层如下: 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(...) "Ov

我正在使用传单和图层选择器

我的问题是我现在定义的图层如下:

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
  }
}

我该怎么做?是否可能?

当使用
L.Control.Layers
时,地图实例上会触发
baselayerchange
overlayeadd
overlayeremove
事件。在您的情况下,需要
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.
});