Как я могу определить, находится ли местоположение (широта / долгота) в пределах определенного многоугольника с углами, которые все имеют заданный широта / долгота в Android? - PullRequest
0 голосов
/ 27 января 2011

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

Ответы [ 2 ]

1 голос
/ 05 июня 2011

Здесь http://alienryderflex.com/polygon вы найдете очень умный алгоритм и некоторый C-код, очень близкий к Java, который выполняет свою работу (евклидово приближение). Так что я бы просто написал свой собственный класс, так как:

  1. Регион Android contains() не дает точного значения. Если он возвращает true, точка для проверки находится в многоугольнике. Все идет нормально. Однако, если он возвращает false, он все равно может быть внутри. Мне почему-то интересно, как этот метод заслуживает того, чтобы его называли contains(), потому что он в большинстве случаев бесполезен для большинства целей.

  2. Очевидно, вы не можете использовать класс Java AWT Polygon в Android.

0 голосов
/ 27 января 2011

Хорошо - полная переписка ответа, который я только что опубликовал (который, я надеюсь, никто не прочитал).

Создайте путь для многоугольника, установите его в качестве пути для региона и вызовите содержимое региона() метод для проверки точки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...