javascript - Leaflet.js - 找出选定的覆盖

标签 javascript leaflet controls overlays

我确实有两个图层组,用户可以在图层控制面板中切换。到目前为止一切正常。

如何找到当前选择的叠加层(0 == a 或 1 == b)?我调用了每两分钟绘制一个图层组的函数 (window.setTimeout("myFunction()", 120 * 1000);),并希望确保仅“重绘”选定的图层组。

这就是我将两个叠加层的控件添加到 map 的方式:

var a = new L.LayerGroup();
var b = new L.LayerGroup();

var overlays = {
        "Option A": a,
        "Option B": b
    };

L.control.layers(overlays).addTo(map);

最佳答案

有几种方法。您可以收听添加或删除图层的 map 事件;您可以向图层控制面板添加更多事件处理程序。

我个人的选择是调用 map.hasLayer(a),它会返回一个 bool 值并且很容易解释。查看hasLayer() documentation .

关于javascript - Leaflet.js - 找出选定的覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44115139/

相关文章:

javascript - typescript 和正则表达式

javascript - Javascript 和 Python 之间的 RSA 通信

javascript - Leaflet.js - 如何只绘制连续的 48 个状态?

c# - 强制控制宽度或高度?

c# - 表控件中的验证

JavaFX - 最适合我的需求的控制项?

javascript - Angular 使用对象的数组值

javascript - 如何防止有序列表的编号 <ol> 调整以适应隐藏/取消隐藏元素

google-maps - Web map 服务和瓦片 map 服务之间的主要区别是什么

cordova - mapbox 不适用于 monaca.io 项目