Задать вопрос
@edmoiseenkoff

Как решить проблему с проверкой попадания маркера в полигон?

Доброго времени суток.

Есть такой код:
jsbin.com/isESifA/4/edit

Есть полигон, при клике на него, включается редактирование этого полигона. Можно изменять его вершины, добавлять и удалять. И ещё есть два маркера, которые находятся вне этого полигона.
Если при редактировании этого полигона, какой-то из маркеров попадает в границы полигона, то маркер должен поменять цвет, с красного на зелёный.

Если маркер не лежит в пределах полигона, и добавлять новую точку так, чтобы маркер попал в полигон, то все нормально срабатывает, и маркер меняет цвет.
Если же не добавлять новой точки, а перетаскивать существующую, так чтобы маркер был в полигоне, то маркер не меняет цвет, а поменяет цвет после следующего движения (как-бы отстает в один шаг).

Как можно решить эту проблему, чтоб не было этого отставания в один шаг, и маркер менял цвет.
Большое спасибо!
  • Вопрос задан
  • 4297 просмотров
Подписаться 2 Оценить 2 комментария
Решения вопроса 1
dima_horror
@dima_horror
Еще пол часика и я нашел ответ. JSBIN
polygon.editor.geometry.events.add('pixelgeometrychange', function(e1){
    var objectsInsidePolygon = geoQuery.searchInside(e1.originalEvent.target);
    objectsInsidePolygon.setOptions('preset', 'islands#greenDotIcon');
    // Оставшиеся объекты - красными.
    geoQuery.remove(objectsInsidePolygon).setOptions('preset', 'islands#redDotIcon');
  });
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
24 дек. 2024, в 19:25
4000 руб./за проект
24 дек. 2024, в 19:16
5000 руб./за проект
24 дек. 2024, в 19:08
20000 руб./за проект