How can I prevent a popup to show when clicking on a marker in Leaflet?(单击 Leaflet 中的标记时,如何防止显示弹出窗口?)
问题描述
我想要一个在我单击传单标记时不显示的弹出窗口.我不能使用 clickable : false
因为它会使标记充当底层地图的一部分".这对我来说是不可接受的.我尝试了以下代码:
I want a popup that doesn't show itself when I click on the Leaflet marker. I cannot use clickable : false
because it will make the markers "act as a part of the underlying map" and this is unacceptable for me. I tried the following code:
marker.on('click', function(event) {
event.originalEvent.preventDefault();
});
没有任何结果.在不使用标记对象的 clickable : false
属性的情况下,防止弹出窗口显示的正确方法是什么?
without any results. What is the right way to prevent a popup from showing without using the clickable : false
property of the marker object?
我只需要通过单击一个自定义按钮来打开地图上的所有弹出窗口,但我不希望在单击特定标记后弹出窗口显示自己.
All I need is to open all the popups on the map by clicking on one custom button, but I don't want the popups to show themselves after I click on a particular marker.
推荐答案
只是不要将弹出窗口绑定到标记.这是一个带有 2 个标记的 fiddle.一个有弹出窗口,另一个没有.
Just don't bind a popup to the marker. Here's a fiddle with 2 markers. One has a popup and the other does not.
L.marker([51, 0]).bindPopup("this is a popup").addTo(map);
L.marker([51, 1.5]).addTo(map);
我已经编辑了 fiddle 并认为这可能是您要问的.这是代码的重要部分:
I've edited the fiddle and think it might be what you are asking. Here's the important part of the code:
function onClick(event) {
event.target.closePopup();
}
这篇关于单击 Leaflet 中的标记时,如何防止显示弹出窗口?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:单击 Leaflet 中的标记时,如何防止显示弹出窗口?
基础教程推荐
- Chart.js 在线性图表上拖动点 2022-01-01
- 用于 Twitter 小部件宽度的 HTML/CSS 2022-01-01
- 直接将值设置为滑块 2022-01-01
- 如何使用TypeScrip将固定承诺数组中的项设置为可选 2022-01-01
- Vue 3 – <过渡>渲染不能动画的非元素根节点 2022-01-01
- 自定义 XMLHttpRequest.prototype.open 2022-01-01
- 如何使用JIT在顺风css中使用布局变体? 2022-01-01
- html表格如何通过更改悬停边框来突出显示列? 2022-01-01
- 我可以在浏览器中与Babel一起使用ES模块,而不捆绑我的代码吗? 2022-01-01
- Electron 将 Node.js 和 Chromium 上下文结合起来意味着 2022-01-01