Leaflet.js - 找出选定的叠加层

vol*_*and 1 javascript controls overlays leaflet

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

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

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

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

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

L.control.layers(overlays).addTo(map);
Run Code Online (Sandbox Code Playgroud)

Iva*_*hez 5

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

我个人的选择是调用map.hasLayer(a),它返回一个布尔值并且是不言自明的。请参阅hasLayer()文档