Проверьте, находятся ли координаты на границе объекта в OL - PullRequest
0 голосов
/ 07 ноября 2019

Я использую OpenLayers 5 https://openlayers.org/ и не могу найти решение, как проверить, находятся ли данные координаты на границе объекта.

Я играл с map.getFeaturesAtPixel и geometry.intersectsCoordinate,но всегда есть проблема в том, что функции также возвращают истину, если координаты находятся внутри объекта. Я хочу, чтобы результат был истинным, если координаты включены на границе объекта.

Фон: пользователь может рисовать линии на карте и связывать их с другими объектами (поэтому я использую ol.interaction.Snap). При сохранении я хочу иметь функции, которые были «привязаны» к пользователю. Я не могу найти событие или что-то еще, что говорит мне, какие функции были зафиксированы. Поэтому я пытался найти решение для самостоятельного извлечения функций, которые связаны с новой линией, но ничего не работает.

Я надеюсь, что картина прояснит это. Пользователь рисует новую линию (синюю), линия привязывается к двум полигонам. После рисования линии я хочу прочитать две функции.

Любая помощь приветствуется!

enter image description here

1 Ответ

2 голосов
/ 08 ноября 2019

При отсутствии более очевидного встроенного метода проверка, совпадает ли ближайшая точка на геометрии с координатой

var closest = geometry.getClosestPoint(coordinate);
if (closest[0] == coordinate[0] && closest[1] == coordinate[1]) {
   ...
}
...