Функциональность Geo Fencing iOS 11 - PullRequest
0 голосов
/ 07 мая 2018

Я работаю на Геозона с Google map . Мой вопрос о минимальном радиусе для CLCircularRegion . Как я хочу работать с регионом на 30 метров. Но функционал работает на 100 метров. Я много искал и обнаружил, что Apple нужен минимальный радиус 100, чтобы создать регион, независимо от того, что я установил 30 или 50 метров.

Вот ссылка - Геозона iOS 6

Кроме того, didEnterRegion вызывает на 100 м, а didExitRegion работает очень странно и занимает много времени. Я также читал, что это зависит от ячеек башни и т. Д. В зависимости от того, что эти методы вызывают.

Вот ссылка - Каков максимальный и минимальный радиус, который можно установить для регионов в геозоне iOS * .

Я хочу знать, установил ли я регион на 50 метров. Почему это не работает в соответствии с необходимым радиусом региона. На самом деле я наблюдаю, что он работает на радиусе 100 метров.

Вот код:

 func createRegion(lat : CLLocationDegrees,lng : CLLocationDegrees) -> CLCircularRegion?
    {
        let latitude = lat 
        let longitude = lng 
        var radius = CLLocationDistance(50)

        if radius > locationManager.maximumRegionMonitoringDistance
        {
            radius = locationManager.maximumRegionMonitoringDistance
        }

        let region = CLCircularRegion(center: CLLocationCoordinate2DMake(latitude, longitude), radius: radius, identifier: "TEST")

        region.notifyOnEntry = true
        region.notifyOnExit = true

        return region
    }

Или кто-нибудь может отослать хорошее приложение с функциональностью Geo fence. Так что я могу сравнить точность моего приложения с ним.

Вопрос: Я выбрал радиус 50 метров и должно появиться уведомление «при выходе». Но я получаю уведомление на / около 250 метров и некоторое время больше, чем это. Пожалуйста, помогите мне

Спасибо!

1 Ответ

0 голосов
/ 04 сентября 2018

Ознакомьтесь с документацией разработчика Apple:

Артикул Apple

Официальная документация

При тестировании кода мониторинга вашего региона в iOS Simulator или на устройстве следует понимать, что события региона могут происходить не сразу после пересечения границы региона. Чтобы предотвратить ложные уведомления, iOS не доставляет уведомления региона, пока не будут выполнены определенные пороговые условия. В частности, местоположение пользователя должно пересекать границу региона, отойти от границы на минимальное расстояние и оставаться на этом минимальном расстоянии не менее 20 секунд, прежде чем будут отправлены уведомления.

Конкретные пороговые расстояния определяются аппаратными средствами и технологиями определения местоположения, которые доступны в настоящее время. Например, если Wi-Fi отключен, мониторинг региона будет значительно менее точным. Однако для целей тестирования можно предположить, что минимальное расстояние составляет приблизительно 200 метров.

И напомните, что если Wi-Fi отключен, то он будет менее точным.

...