[英]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.