繁体   English   中英

传单:将事件添加到标记?

[英]Leaflet: Add event to marker?

我试图将click事件添加到传单标记中,如下所示:

L.marker([41.866056100409044, 12.5349304759025576]).on('click', red).bindLabel('kebabbari (Ali Baba)', {noHide: true}).addTo(map).showLabel();

但是结果只是一个没有任何点击事件的标记(“ red()”函数存在)
传单中的标记,点击事件无效

只需在不同的情况下运行多个测试,它们都可以通过onclick或鼠标悬停来工作。 我正在使用Leaflet 1.03,我认为您使用的是先前版本。

var Marker = L.marker([41.866056100409044, 12.5349304759025576]).on('click', onClick).addTo(map)

添加新功能,如下所示:-

function onClick(e) {
    alert(this.getLatLng());
}

试试这个,它将证明您的onclick函数可以正常工作。 我认为传单的插件标签可能会干扰它,因为它具有Onclick选项,您可能需要对此进行进一步研究。

但是有时您需要证明您可以使其首先工作,然后再逐步添加。

Leaflet.Label也会与onclick发生冲突。

https://github.com/Leaflet/Leaflet.label/issues/132来自论坛的此问题将帮助您,他们在此处提供了详细的答案。

您需要将事件专门绑定到marker.label,例如:

L.DomEvent.addListener(marker.label, 'click', function(e) { this.togglePopup() }, marker);

我必须深入研究代码才能弄清楚这一点,值得在README中提及如何访问标签并将事件绑定到标签。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM