Javascript 传单地图:当一个弹出窗口打开时,如何阻止所有弹出窗口关闭?
好的,我有一个使用传单的大型地图项目,我有以下覆盖:Javascript 传单地图:当一个弹出窗口打开时,如何阻止所有弹出窗口关闭?,javascript,jquery,leaflet,gis,Javascript,Jquery,Leaflet,Gis,好的,我有一个使用传单的大型地图项目,我有以下覆盖: //设置弹出窗口的默认值 L.Popup.options={ 自动关闭:错误, 克洛斯布顿:错 };我不知道您是如何测试的,但是如果您创建了一个弹出窗口的单个实例,然后在地图上添加了相同的实例,那么它只会更改它的位置,而不会在地图上创建一个新实例。您需要为3个不同的标记创建3个不同的弹出窗口,以保持它们处于打开状态 以下是实现所需功能的代码示例(手册版本1.0.0-rc3): 一个例子证明了这一点: 实际上,关闭所有弹出窗口的代码在哪里?然
//设置弹出窗口的默认值
L.Popup.options={
自动关闭:错误,
克洛斯布顿:错
};代码>我不知道您是如何测试的,但是如果您创建了一个弹出窗口的单个实例,然后在地图上添加了相同的实例,那么它只会更改它的位置,而不会在地图上创建一个新实例。您需要为3个不同的标记创建3个不同的弹出窗口,以保持它们处于打开状态
以下是实现所需功能的代码示例(手册版本1.0.0-rc3):
一个例子证明了这一点:
实际上,关闭所有弹出窗口的代码在哪里?然后单击一个。。当它重新打开时,它们都关闭了。我不明白,这不是你想要的答案?使用此解决方案,只有再次单击X或标记时,才能关闭弹出窗口。当您单击并打开其他文件时,这些文件都将保持打开状态。也许操作的意思是:
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);