簡體   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