我有一个文本区域,我将 GeoJson 复制到其中,并且 map 必须显示其形状。直到我希望这个形状可以编辑之前,这不是问题。 因此,我使用下面的代码将其转换为图层并添加到功能组,以便我可以使用 leaflet-draw 对其进行编辑。但此代码适用于点和线,但不适用于多边形。如果是多边形,则移动应出现在多边形每一侧的处理程序,但不会出现。
可能出现什么问题?
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());
最佳答案
我终于解决了。该问题与我使用的传单和传单绘制版本有关。
在撰写本文时,我使用了 leaflet-draw 0.4.7 和 leaflet 1.0.2,问题已解决。
关于javascript - 在传单绘制中编辑多边形图层时不出现移动处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41415151/