#javascript #django #leaflet #leaflet.draw
#javascript #django #листовка #leaflet.draw
Вопрос:
Я использую Leaflet Draw, чтобы пользователи могли рисовать полилинию на карте для измерения сечений. Первый шаг — использовать листовку.Нарисуйте, чтобы пользователи могли рисовать линию. Листовка.Рисунок включает в себя кнопку удаления и редактирования. Однако эти кнопки не работают.
Я (повторно) использовал рабочий код из других проектов, чтобы создать элемент управления draw и передать ему FeatureGroup и редактируемые слои.
// My draw Toolbar
var drawnItems = new L.FeatureGroup()
map.addLayer(drawnItems)
var drawControl = new L.Control.Draw({
draw:{polygon: false,
marker: false,
circlemarker: false,
rectangle: false,
circle: false,
},
edit: {
featureGroup: drawnItems
}
});
map.addControl(drawControl);
map.on(L.Draw.Event.CREATED, function (e) {
var layer = e.layer;
map.addLayer(layer);
});
Похоже, я правильно связываю группу объектов, но по какой-то причине удаление и редактирование не работают:(
Ответ №1:
Вы добавляете нарисованные элементы в, map
но они должны быть добавлены в слой, на который указывает edit.featureGroup
, если вы хотите их отредактировать, т.е. drawnItems
:
map.on(L.Draw.Event.CREATED, function (e) {
var layer = e.layer;
drawnItems.addLayer(layer);
});
Вот демоhttps://jsfiddle.net/4g5u071r /