Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 传单地图:当一个弹出窗口打开时,如何阻止所有弹出窗口关闭?_Javascript_Jquery_Leaflet_Gis - Fatal编程技术网

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);