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