使用Leaflet.js关闭所有弹出窗口

Feh*_*ler 28 javascript popup map

我正在使用Leaflet.js在地图上工作,它使用了许多标记(最终会有~40个标记).每个标记都有一个带有详细信息的相关弹出框 Leaflet.js的默认行为似乎是自动打开至少一个标记的弹出窗口(我相信最后列出的标记).

我希望在初始加载地图页面时关闭所有弹出窗口,以便用户必须单击标记才能打开弹出窗口.有谁知道如何做到这一点?我这里有一个原型:

http://dev.monographic.org/maps/prototype-10.html

谢谢.

Flo*_*dot 47

地图对象中有一个干净的方法可以关闭所有打开的弹出窗口

map.closePopup();
Run Code Online (Sandbox Code Playgroud)

  • 我想关闭所有弹出窗口。```map.closePopup();``` 仅关闭最后一个。请参阅:https://observablehq.com/d/6ce88f5b8e361005 (2认同)

sAm*_*sAm 15

我设法通过这段代码解决了我的问题:

$(".leaflet-popup-close-button")[0].click();
Run Code Online (Sandbox Code Playgroud)

希望它将来有助于某人.


sfl*_*che 5

只需删除你的电话.openPopup().

代替

L.marker([57.70887, 11.97456]).addTo(map).bindPopup("<b>Ideal Festival</b><br />2004").openPopup();
Run Code Online (Sandbox Code Playgroud)

使用

L.marker([57.70887, 11.97456]).addTo(map).bindPopup("<b>Ideal Festival</b><br />2004");
Run Code Online (Sandbox Code Playgroud)

点击行为仍然存在(当用户点击这些标记时,弹出窗口仍然会出现),但是当页面加载时弹出窗口将不可见.


Ven*_*dar 1

$(".leaflet-popup-close-button").click()
Run Code Online (Sandbox Code Playgroud)

地图加载完成后尝试此操作。