1
我已經把測試案例,演示了什麼,我試圖做的,它導致錯誤:http://codepen.io/anon/pen/RWPyej?editors=001用戶點擊時如何去除Leaflet GeoJSON圖層?
爲了演示,然後打開JavaScript控制檯點擊一個多邊形。這將去除以GeoJSON層完全(期望),但是當你移動你的鼠標在單擊使用了多邊形到外面,你會得到一個控制檯錯誤:當用戶點擊一個多邊形Uncaught TypeError: Cannot read property 'mouseEventToContainerPoint' of null
layer = L.geoJson(geojson, {
onEachFeature: function(feature, layer) {
layer.on({
click: onClick
});
}
}).addTo(map)
function onClick(e) {
map.removeLayer(layer);
}
,我想用其他geojson數據替換geojson圖層。我可以通過從地圖上刪除圖層或清除圖層並添加新數據來完成此操作;似乎任何一條路線都會產生相同的錯誤。
我認爲這與我刪除圖層後剩餘的每個多邊形的聽衆有關,因此我試圖使用clearAllEventListeners()
無濟於事。
我該如何刪除/替換GeoJSON圖層而不會出現此錯誤?
我是針對職位從小膠質一個GitHub的問題:HTTPS:/ /github.com/Leaflet/Leaflet/issues/3829 –