Как проверить, что пользователь находится между координатами, MKMapview - PullRequest
2 голосов
/ 26 апреля 2011

У меня было userlocation и граница. И у границы есть 8 координат. Мне нужно проверить, находится ли пользователь на границе или нет. Использую mapview в iPhone.

Заранее спасибо.

Ответы [ 2 ]

3 голосов
/ 26 апреля 2011

Способ сделать это с помощью некоторых встроенных функций в Map Kit - добавить вашу границу в виде наложения MKPolygon к виду карты.Сохраняйте ссылку на оверлей как ivar.

Затем, когда вы захотите проверить, находится ли пользователь внутри границы (например, при изменении местоположения пользователя), преобразуйте пользовательские координаты в CGPoint и получите CGPath для границы и звоните CGPathContainsPointДля этих преобразований существуют функции Map Kit.

Этот мой предыдущий ответ дает пример того, как добавить оверлей MKPolygon, а этот содержит пример части CGPathContainsPoint.

0 голосов
/ 26 апреля 2011

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

...