У меня есть приложение OpenLayers с векторными объектами, то есть линейными строками, имеющими вершины.
Изменить геометрию: вы можете перемещать вершины (точки, где встречаются линии), что вызывает событие "modifyend" на мышь-релиз; это работает, и я получаю геометрию с помощью:
var dragSegment = evt.target.dragSegments_[0];
dragSegment[0].feature.vertex = vertex;
if (dragSegment) {
controller.fireEvent("Feature.Modify", {
feature: dragSegment[0].feature
});
}
[... в дальнейшем коде геометрия новой функции сохраняется в базе данных и системе]
Теперь для следующего шага я Если вы хотите разрешить пользователю удалять вершины, что легко сделать с помощью Openlayers, вы просто нажимаете «alt» и «Мышь влево» на вершине, и она исчезает.
Я также вступаю в событие modifyEnd, НО объекты возврата события имеют другой тип и не содержат dragSegment. В объектах вершин нет "getGeometry ()", "getId ()" и т. Д. ...
Моя проблема в том, что я хочу сохранить / сохранить новую геометрию в моей базе данных для дальнейшей цели, поэтому я потребуется сохранить новую геометрию без удаленной вершины.
Есть ли возможность получить весь объект (dragSegment) в этом контексте из OpenLayers, или мне нужно вручную удалить вершину, определив вершину в мой сохраненный объект с координатами из вершины?
Другими словами: мне понадобится отредактированная строка строк в этом контексте, и я не получу ее из события.
Спасибо, Лучший С уважением!