OpenLayers 5.3: Modify Event не возвращает функцию dragSegment при удалении вершины - PullRequest
0 голосов
/ 12 апреля 2020

У меня есть приложение 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, или мне нужно вручную удалить вершину, определив вершину в мой сохраненный объект с координатами из вершины?

Другими словами: мне понадобится отредактированная строка строк в этом контексте, и я не получу ее из события.

Спасибо, Лучший С уважением!

...