单张移除GeoJSON层
我通过在宣传单中创建GeoJSON层来为地图上的区域上色。首先,我创建一个空层:
var layerPostalcodes=L.geoJSON().addTo(map);
然后我创建一个包含形状信息的Geojson元素并将其添加到层中:
layerPostalcodes.addData(geojson);
这将正确显示地图上的区域。现在,点击一个按钮,我想从地图上删除所有的形状。这不管用。我尝试了几种方法:
layerPostalcodes.clearLayers();
或者通过LayerGroup添加GeoJSON层,这样我就可以使用emoveLayer()。但是,这甚至不会显示形状,更不用说删除它们了。
var layerGroup = new L.LayerGroup();
layerGroup.addLayer(layerPostalcodes);
layerGroup.addTo(map);
layerGroup.removeLayer(layerPostalcodes);
我做错了什么?
解决方案
先将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);
相关文章