好的,所以我有一个使用传单的大型映射项目,并且具有以下替代项:
//set defaults for popups
L.Popup.options = {
autoClose: false,
closeButon: false
};
根据文档,这应该防止在我打开弹出窗口时关闭弹出窗口。为什么单击地图时所有弹出窗口仍然关闭?
我不确定如何测试此方法,但是如果您创建了Popup的单个实例,然后在地图上添加了一个实例,那么它只会更改其位置,而不会在地图上创建新实例。您需要为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演示了这一点:
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句