我从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
对此有任何帮助。
答案 0 :(得分:1)
此代码将关闭所有L.CircleMarkers上的弹出窗口-够近了吗?
map.on('click', function(e) {
map.eachLayer(function(layer) {
if (layer instanceof L.CircleMarker) {
layer.closePopup()
}
})
});