Leaflet.Draw кнопка редактирования и удаления не работает

Я использую Leaflet Draw, чтобы пользователи могли рисовать полилинию на карте для измерения участков. Первый шаг - использовать Leaflet.Draw, чтобы пользователи могли провести черту. Leaflet.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);
});

Похоже, я правильно связываю группу функций, но по какой-то причине удаление и редактирование не работают :(


person Kaz Vermeer    schedule 05.04.2019    source источник


Ответы (1)


Вы добавляете нарисованные элементы в map, но они должны быть добавленным к слою, указанному edit.featureGroup, если вы хотите их отредактировать, т. е. drawnItems:

map.on(L.Draw.Event.CREATED, function (e) {
    var layer = e.layer;
    drawnItems.addLayer(layer);
});

Вот демонстрация https://jsfiddle.net/4g5u071r/

person nikoshr    schedule 05.04.2019