Leaflet 传单层控制事件?

Leaflet 传单层控制事件?,leaflet,Leaflet,总之,我想检测用户层选择,以便将侧边栏与显示的层同步 但是我在API引用中没有看到任何层控制事件;我如何判断何时发生了这样的用户层选择 作为替代方案,我查看了层加载和卸载事件,但在返回的内容中没有看到任何标识。不知怎的,我错过了吗?您可以使用jQuery将自己的“更改”事件绑定到传单层控制单选按钮,如下所示: $("[name='leaflet-base-layers']").change( function () { alert('Layers selected: '

总之,我想检测用户层选择,以便将侧边栏与显示的层同步

但是我在API引用中没有看到任何层控制事件;我如何判断何时发生了这样的用户层选择

作为替代方案,我查看了层加载和卸载事件,但在返回的内容中没有看到任何标识。不知怎的,我错过了吗?

您可以使用jQuery将自己的“更改”事件绑定到传单层控制单选按钮,如下所示:

    $("[name='leaflet-base-layers']").change( function () {
        alert('Layers selected: ' + $(this).parent().text());
    });

我还没有尝试使用它,但是这个插件看起来很有希望:

我将在我的一个项目中试一试,因为这是一个非常有用的函数。

这里定义了一个“baselayerchange”事件 只要将它绑定到map对象,就可以开始了

map.on('baselayerchange', function(e) {
  console.log(e);
});

有一些事件可以让您知道用户何时激活/取消激活图层

这可能会帮助您:

例如:

map.on('overlayadd', onOverlayAdd);

function onOverlayAdd(e){
    //do whatever
}

我希望我能使用本机的传单,非JQuery layers控件,但我开始怀疑这是不可能的。对于哪种类型的层,我对任何可用的都很满意。就是这样。谢谢!只有当用户通过控件手动添加层时,或者在任何时候添加层时,甚至是通过代码自动添加层时,才会触发该命令吗?。更新了@Adrian Garcia的URL