我正在使用 Leaflet-geoman 在地图中绘制圆形和多边形。
如何获取地图中绘制的所有要素的 geojson?
要获取地图的所有图层,您可以使用以下命令:
var fg = L.featureGroup();
map.eachLayer((layer)=>{
if(layer instanceof L.Path || layer instanceof L.Marker){
fg.addLayer(layer);
}
});
console.log(fg.toGeoJSON());
如果您只想要插件中使用的图层:
var fg = L.featureGroup();
map.eachLayer((layer)=>{
if((layer instanceof L.Path || layer instanceof L.Marker) && layer.pm){
fg.addLayer(layer);
}
});
console.log(fg.toGeoJSON());
我建议使用featureGroup
可以提供给 geoman 的自定义传单。假设您正在绘制多边形
const yourCustomPolygonLayer = L.featureGroup().addTo(map);
map.pm.setGlobalOptions({
layerGroup: yourCustomPolygonLayer
});
现在您可以轻松地进行迭代yourCustomPolygonLayer
。
yourCustomPolygonLayer.eachLayer(layer => {
console.info(layer._latlngs)
})