在使用leaflet-geoman 提供的绘制控件时,我遇到了一些麻烦:
我想要达到的目标:
- 绘制多边形 --> ✅</li>
- 从层获取geojson --> ✅</li>
- 存储在数据库中 --> ✅</li>
- 从数据库中检索 --> ✅</li>
- 加载传单地图并能够对其进行编辑、裁剪和删除。--> ✅ ?
- 从修改后的层获取新的 geojson,或者如果我有 2 层并删除了一层,则只获取一层。--> X
我无法从我通过 geoman 绘制控件所做的修改中获得新的 geojson。无论我做什么,当我将数据加载到地图时,我总是得到相同的结果。
小提琴:https ://jsfiddle.net/pjkLr41q/34/
const shapes = [{
"type": "Feature",
"properties": {},
"geometry": {
"type": "Polygon",
"coordinates": [
[
[-3.701856, 40.422481],
[-3.707092, 40.418593],
[-3.70177, 40.417809],
[-3.701899, 40.422873],
[-3.701856, 40.422481]
]
]
}
}];
const geojson = L.geoJSON(shapes).addTo(map);
map.eachLayer((layer) => {
if (layer.pm) {
const geojson = layer.toGeoJSON();
if (layer instanceof L.Circle) {
geojson.properties.radius = 10;
}
shapes.push(geojson);
}});
我不确定是不是因为我加载数据的方式,直接使用 L.geoJSON(data) 或者可能通过 eachLayer 函数在这种情况下不是我需要的,但我现在有点迷路了。帮助真的很感激。