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 –