在传单绘制中编辑多边形图层时不显示移动处理程序

Move handlers not appears when editing polygon layer in leaflet-draw

我有一个文本区域,我将 GeoJson 复制到其中,地图必须显示其形状。这不是问题,直到我希望这个形状可以编辑。 所以我使用下面的代码将它转换为图层并添加到特征组,这样我就可以使用 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());

我终于解决了。这个问题和我用的leaflet和leaflet-draw的版本有关。

写这篇post的时候,我用的是leaflet-draw 0.4.7和leaflet 1.0.2,问题解决了。