2013-08-18 3 views
1

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

У меня есть место как CLLocationCoordinate2D, которое я назвал location, и у меня есть массив из 8 двухместных номеров, составляющий 4 координаты (NW, NE, SW, SE). Я могу преобразовать их в CLLocationCoordinate2D. Мой вопрос: как я могу проверить, находится ли граница location? в iOS ...

+0

Определяет ли массив координат некоторый произвольный многоугольник? [Это] (http://stackoverflow.com/questions/4354130/how-to-determine-if-an-annotation-is-inside-of-mkpolygonview-ios) могут быть полезны, в том числе версия "cap-less" , – Anna

+0

Geofences in iOS - это экземпляры 'CLRegion'. Класс CLRegion имеет метод 'containsCoordinate', который принимает' CLLocationCoordinate2D' и сообщает вам, содержится ли эта координата в регионе. В настоящее время экземпляры 'CLRegion' могут быть только круговыми и определяются центральной координатой и радиусом, поэтому я немного смущен вашим упоминанием о массиве координат. –

+1

@ theStreaker123 Я предположил, что его 8 двойников - это 4 координаты, чтобы сделать прямоугольную ограничительную рамку (NW, NE и т. Д.). –

ответ

1

Я не думаю, что для этого есть встроенный метод. Вы просто проверяете, является ли широта местоположения меньше максимальной граничной широты и больше, чем минимум. То же самое с долготой.

Если вы конвертируете их в MKMapPoint и MKMapRect, вы можете использовать MKMapRectContainsPoint() для проверки.