我有一个文本区域,我将 GeoJson 复制到其中,并且地图必须显示其形状。在我希望此形状可编辑之前,这不是问题。所以我使用下面的代码将其转换为图层并添加到特征组,以便我可以使用传单绘制对其进行编辑。但此代码适用于 POINT 和 LINE,但不适用于 POLYGONS。在多边形的情况下,移动应该出现在多边形每一侧的处理程序,而不是出现。
可能是什么问题?
var drawnItems = L.featureGroup().addTo(mymap);
mymap.addControl(new L.Control.Draw({
edit: {
featureGroup: drawnItems,
poly: {
allowIntersection: false
}
},
draw: {
polygon: {
allowIntersection: false,
showArea: true
}
}
}));
var str = document.getElementById("ingeojson").value;
var shapeJson = JSON.parse(str);
var shape = L.geoJSON(shapeJson);
var shapeLayer = L.GeoJSON.geometryToLayer(shapeJson);
drawnItems.addLayer(shapeLayer);
shapeLayer.addTo(mymap);
mymap.fitBounds(shapeLayer.getBounds());