В моей карте OpenLayers3 я могу легко создавать точки или linestrings. Когда я изменяю linestrings, я могу настроить взаимодействие Modify, чтобы иметь возможность удалить вершину с помощью щелчка смены. Затем я получаю обратный вызов для функции linestring (событие «change»).OpenLayers3: Как удалить или удалить точку?
Для точек я не получаю такого обратного вызова, и на самом деле щелчок смены не удаляет точку.
Я ссылаюсь этот пример: http://openlayers.org/en/v3.2.1/examples/draw-and-modify-features.html?q=modify
Теперь, когда я думаю об этом, что я на самом деле мог бы сделать, это есть выбор взаимодействие и когда пользователь выбирает точку со сдвигом кнопки мыши, что точка будут удалены.
Неужели кто-нибудь еще решил эту проблему?
Благодаря
- Я обновил мое приложение, чтобы иметь обработчик выбора для удаления; Теперь у меня возникла проблема, когда выбор происходит по клику, хотя я указываю, что он должен выбирать по щелчку.
this.stationDeleter = new ol.interaction.Select({
layers: [this.stationsLayer],
// for debugging
style: new ol.style.Style({
image: new ol.style.Circle({
radius: 12,
fill: new ol.style.Fill({
color: 'rgba(255, 0, 0, 0.5)'
})
})
}),
addCondition: function(event) {
return ol.events.condition.shiftKeyOnly(event)
&& ol.events.condition.singleClick(event);
}
});
Да, это то, что я закончил, добавляя выбранное взаимодействие; когда функции добавляются к выбранному взаимодействию, я удаляю их. –