我将传单弹出窗口绑定到标记。我的问题是,当您单击标记时,它自己的弹出窗口关闭,我希望它们始终保持打开状态。
具体来说,我知道我可以使用autoClose选项来防止在单击另一个标记时关闭弹出窗口,我是在谈论防止在单击已绑定的标记时关闭弹出窗口。
我一直在阅读Leaflet文档,似乎没有弹出窗口选项可以阻止这种情况。
可能有某种插件可以在弹出窗口中添加选项,但我没有找到任何插件。
也许我可以创建自己的弹出类,并阻止其关闭?但是我真的不知道该怎么做。
谢谢。
答案 0 :(得分:0)
您是否尝试将 closeOnClick
和 autoClose
都设置为 false
?你能在这里运行代码片段来检查这是否是你想要的吗?
var map = L.map('map').setView([38, -8], 7)
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png').addTo(map);
for (let i=0; i<10; i++) {
const popup = L.popup({
closeOnClick: false,
autoClose: false
}).setContent("popup " + i);
L.marker([
getRandom(37, 39),
getRandom(-9.5, -6.5)
]).addTo(map).bindPopup(popup);
}
function getRandom(min, max) {
return Math.random() * (max - min) + min;
}
#map {height: 200px}
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.7.1/leaflet.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.7.1/leaflet.js"></script>
<div id="map"></div>