如何用Leaflet关闭多个弹出窗口?

时间:2019-11-28 17:31:10

标签: popup leaflet

我从http://bl.ocks.org/mpmckenna8/9395643处暴露的黑客中完全找到了我想要的行为(可能有多个弹出窗口,当用户单击地图时将其关闭)

不幸的是,此黑客不适用于最新的1.6.0版本。 也许有多种选项可以提供这种功能,但我还没有找到。

我准备了一个jsfiddle来探索这个问题:https://jsfiddle.net/PBrockmann/3j40ychf/

var popup1 = L.popup({
  minWidth: 100,
  closeOnClick: false,
  autoClose: false
}).setContent("marker1");

L.circleMarker([51.5072, 0.1275]).addTo(map).bindPopup(popup1);

还有https://observablehq.com/@pbrockmann/untitled/2

对此有任何帮助。

1 个答案:

答案 0 :(得分:1)

此代码将关闭所有L.CircleMarkers上的弹出窗口-够近了吗?

map.on('click', function(e) {
   map.eachLayer(function(layer) {
    if (layer instanceof L.CircleMarker) {
        layer.closePopup()
     }
   })
});