Javascript 将JS GeoMan转换为JSON数据
我已经将GeoMan添加到我的传单地图中,只是想知道是否有一种方法可以将所有绘制的特性导出到JSON中。我使用它只是为了开发,以便JSON可以进入console.log 我只是在努力解决这个问题。这是我到目前为止唯一的代码Javascript 将JS GeoMan转换为JSON数据,javascript,json,leaflet,leaflet-geoman,Javascript,Json,Leaflet,Leaflet Geoman,我已经将GeoMan添加到我的传单地图中,只是想知道是否有一种方法可以将所有绘制的特性导出到JSON中。我使用它只是为了开发,以便JSON可以进入console.log 我只是在努力解决这个问题。这是我到目前为止唯一的代码 map.pm.toggleGlobalDragMode(); map.pm.addControls({ position: 'topright', editMode: true, }); layer.pm.enable({ pinning: true, sna
map.pm.toggleGlobalDragMode();
map.pm.addControls({
position: 'topright',
editMode: true,
});
layer.pm.enable({ pinning: true, snappable: true })
您可以使用以下代码:
function generateGeoJson(){
var fg = L.featureGroup();
var layers = findLayers(map);
layers.forEach(function(layer){
fg.addLayer(layer);
});
console.log(fg.toGeoJSON());
}
function findLayers(map) {
var layers = [];
map.eachLayer(layer => {
if (
layer instanceof L.Polyline || //Don't worry about Polygon and Rectangle they are included in Polyline
layer instanceof L.Marker ||
layer instanceof L.Circle ||
layer instanceof L.CircleMarker
) {
layers.push(layer);
}
});
// filter out layers that don't have the leaflet-geoman instance
layers = layers.filter(layer => !!layer.pm);
// filter out everything that's leaflet-geoman specific temporary stuff
layers = layers.filter(layer => !layer._pmTempLayer);
return layers;
}
小提琴:
有关更多信息,请查看
其他信息:
- 在下一个Realease中,将有一个获取所有层的函数
- 锁定仅适用于专业版
- 例如: