我有一个textarea,我将GeoJson复制到其中, Map 必须显示其形状 . 在我希望这个形状可以编辑之前,这不是问题 . 所以我使用下面的代码将其转换为图层并添加到featuregroup,以便我可以使用leaflet-draw编辑它 . 但是这个代码适用于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());
1 回答
我终于解决了 . 问题与我使用的传单和传单的版本有关 .
在写这篇文章时,我使用了传单0.4.7和传单1.0.2,问题解决了 .