javascript - 传单 map : How to stop all the popups from closing when one is opened?

标签 javascript jquery leaflet gis

好的,所以我有一个使用 leaflet 的大型映射项目,并且我有以下覆盖:

//set defaults for popups
L.Popup.options = {
    autoClose: false,
    closeButon: false
     };

根据文档,这应该可以防止弹出窗口在我打开时关闭。为什么单击 map 时所有弹出窗口仍然关闭?

最佳答案

我不确定你是如何测试这个的,但如果你创建了一个 Popup 的单个实例,然后在你的 map 上添加了相同的实例,那么它只会改变它的位置,而不是在 map 上创建一个新的实例。您需要为 3 个不同的标记创建 3 个不同的弹出窗口,以保持它们打开。

这是执行您想要的操作的代码示例(传单版本 1.0.0-rc3):

var map = new L.Map('map').setView([51.505, -0.09], 13);

var newpopup = L.popup({
  closeOnClick: false,
  autoClose: false
}).setContent("popup 1");
var newpopup2 = L.popup({
  closeOnClick: false,
  autoClose: false
}).setContent("popup2");
var newpopup3 = L.popup({
  closeOnClick: false,
  autoClose: false
}).setContent("popup3");

L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
  maxZoom: 18
}).addTo(map);

L.marker([51.49, -0.09]).addTo(map).bindPopup(newpopup);

L.marker([51.51, -0.091]).addTo(map).bindPopup(newpopup2);

L.marker([51.51, -0.12]).addTo(map).bindPopup(newpopup3);

还有一个 jsFiddle这证明了这一点:

enter image description here

关于javascript - 传单 map : How to stop all the popups from closing when one is opened?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39380036/

相关文章:

javascript - 如何优化此 HTML 以在浏览器中更快地呈现?

javascript - 在 javascript 图表上显示交易量配置文件

javascript - 通过 jquery post 函数(Web API)将对象从 javascript 传递到 Controller

jquery - 粘性标题,达到一定程度

jquery - 在 Firefox 中解析本地文件期间在 geoJSON 上获取 "not well formed"

javascript - D3.js 流图示例 - 生成正确的面积函数值

javascript - 按钮内的 onChange 和 onClick 在 I.E 上不起作用

javascript - 如何验证动态添加的相关日历字段

r - 如何在R中的传单 map 上绘制多个等时线

javascript - 传单缩放和平移