首页 > 解决方案 > 传单删除 GeoJSON 层

问题描述

我通过在传单中创建 GeoJSON 图层来为地图上的区域着色。首先我创建一个空层:

var layerPostalcodes=L.geoJSON().addTo(map);

然后我创建一个包含形状信息的 geojson 元素并将其添加到图层中:

layerPostalcodes.addData(geojson);

这将正确显示地图上的区域。现在,单击一个按钮,我想从地图中删除所有形状。这是行不通的。我尝试了几种方法:

layerPostalcodes.clearLayers();

或通过 LayerGroup,将 GeoJSON 图层添加到其中,以便我可以使用 removeLayer()。但是,这甚至不显示形状,更不用说删除它们了。

var layerGroup = new L.LayerGroup();
layerGroup.addLayer(layerPostalcodes);
layerGroup.addTo(map);
layerGroup.removeLayer(layerPostalcodes);

我究竟做错了什么?

标签: javascriptleafletgeojson

解决方案


在添加layerGroup到地图之前添加到地图layerPostalCodes

var layerGroup = new L.LayerGroup();
layerGroup.addTo(map);
layerGroup.addLayer(layerPostalcodes);
layerGroup.removeLayer(layerPostalcodes);

或者

var layerGroup = new L.LayerGroup();
layerGroup.addTo(map);
layerGroup.addLayer(layerPostalcodes);
map.removeLayer(layerGroup);

推荐阅读