«Геозона» всегда была вокруг, начиная с iOS 4 в форме «Мониторинг региона».Он использует проверку расстояния, чтобы увидеть, вошли ли вы в круг. Это не настоящее геозонирование , поскольку истинное геозонирование проверяет, попадает ли точка в многоугольник (называемый точкой в многоугольнике).
Начиная с iOS 6, в настоящее время нет ничего похожего на мониторинг областикоторый использует точку в многоугольнике.Чтобы сделать настоящее геозону, вы должны использовать комбинацию мониторинга региона и GPS.Нет документации Apple по геозонам, потому что CoreLocation не поддерживает ее.
Если вы собираетесь использовать подход «точка-в-поли», я бы порекомендовал приведение лучей.Есть класс Objective C, который реализует это действительно хорошо.Она называется objc-BorderPatrol .
Что касается отправки ограждений из веб-службы, может быть возможно сделать что-то похожее на потоковый API Twitter, но это может быть слишком интенсивно.Лучше использовать существенное местоположение, чтобы обновить свои заборы.Если вы собираетесь отправлять заборы из веб-службы, я бы рекомендовал использовать MySQL или PostGRE SQL, поскольку оба имеют действительно хорошие геопространственные расширения.
Несколько предостережений: -> -[CLRegion containsCoordinate:]
никогда не вызывается никаким объектом CoreLocation.Вся проверка расстояния является внутренней.-> Значительное местоположение обновляется каждые 500 м или 5 минут, в зависимости от того, что наступит раньше.Существенное местоположение использует IP-адрес из вышки сотовой связи для определения местоположения.-> Геозоны и регионы могут перекрываться, следите за этим.