У меня есть текстовое поле, в которое я копирую GeoJson, и на карте должна отображаться его форма. Это не проблема, пока я не захотел, чтобы эту форму можно было редактировать. Поэтому я использовал приведенный ниже код, чтобы преобразовать его в слой и добавить в группу функций, чтобы я мог редактировать его с помощью отрисовки листовок. Но этот код работает для ТОЧКИ и ЛИНИИ, но не для ПОЛИГОНОВ. В случае многоугольника обработчики перемещения, которые должны появиться с каждой стороны многоугольника, не отображаются.
В чем может быть проблема?
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());