![](/img/trans.png)
[英]Google Maps API Map Click Event doesn't work when clicked on an overlay geojson layer
[英]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);
根據您要實現的目標, bindPopup和bindTooltip會很有用。
另外,請考慮到文檔所說明的
事件會傳播到FeatureGroup,因此,如果該組具有事件處理程序,它將處理來自任何圖層的事件。 這包括鼠標事件和自定義事件。
因此,根據您的用例,您可以選擇綁定到每個要素或具有相似效果的圖層。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.