簡體   English   中英

傳單:單擊疊加的geojson圖層時,地圖點擊事件不起作用

[英]Leaflet: Map Click Event doesn't work when clicked on an overlay geojson layer

我在其中一個項目中使用Leaflet,但遇到一個問題,下面對此進行了說明:

我已使用以下方法在地圖上實現了click事件

map.on('click', function(e) {        
    console.log(e)       
});

而且一切正常。

我還在地圖上添加了geojson圖層。 因此,問題是當我單擊覆蓋的geojson圖層(實際上是多邊形圖層)時,未觸發地圖單擊事件。 因此,我的問題是,當我單擊地圖上的疊加層時,如何使地圖單擊事件也起作用?

就像在評論中所說的那樣, click事件綁定到了地圖或疊加層,但沒有從另一個冒泡。 您必須將其附加到所需的對象。

您可以將點擊綁定到從L.Evented繼承的整個疊加層,也可以綁定到各個要素

要將其綁定到各個功能,請查看本教程onEachFeature部分

function onEnachFeature(feature, layer) {
    console.log(feature.properties);
}
L.geoJSON(geojsonFeature, {
    onEachFeature: onEachFeature
}).addTo(map);

根據您要實現的目標, bindPopupbindTooltip會很有用。

另外,請考慮到文檔所說明的

事件會傳播到FeatureGroup,因此,如果該組具有事件處理程序,它將處理來自任何圖層的事件。 這包括鼠標事件和自定義事件。

因此,根據您的用例,您可以選擇綁定到每個要素或具有相似效果的圖層。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM