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

时间:2017-04-12 09:11:18

标签: javascript jquery maps leaflet

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

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

但结果只是没有任何点击事件的标记("红色()"功能存在)
Marker in leaflet, click event无效

1 个答案:

答案 0 :(得分:0)

只是使用不同的方案运行多个测试,它们都可以使用onclick或mouseover。我使用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中提及如何访问标签并将事件绑定到它。