La precisione del geofence dipende dall'accuratezza o dal filtro della distanza di locationManager? Oppure sono indipendenti l'uno dall'altro perché geofence è gestita dal sistema operativo e utilizza le informazioni torre WiFi / Cell?
Per esempio:
locationManager
locationManager.distanceFilter = 1250;
locationManager.desiredAccuracy = kCLLocationAccuracyKilometer;
regione
let title = "Lorrenzillo"s"
let coordinate = CLLocationCoordinate2DMake(37.703026, -121.759735)
let regionRadius = 550.0
let region = CLCircularRegion(center: CLLocationCoordinate2D(latitude: coordinate.latitude,
longitude: coordinate.longitude), radius: regionRadius, identifier: title)
Il 550
(raggio) è inferiore a kCLLocationAccuracyKilometer
... quindi il Geofence si innescherebbe come previsto?
Da quello che capisco il distanceFilter
non ha alcun effetto sulla precisione del geofence. Non sono sicuro se il desiredAccuracy
del gestore influenzerebbe l'accuratezza di Geofence.
risposte:
1 per risposta № 1La domanda non ha senso; stai confrontando mele e tigri. Geofencing e il gestore della posizione dell'app non hanno nulla a che fare l'uno con l'altro.
Geofencing utilizzando una regione circolare viene eseguita per voi dal sistema. Il tuo gestore di posizione non lo fa qualunque localizzazione geofence-correlata. Il sistema non utilizza e non sa nulla del gestore della posizione dell'app o delle sue impostazioni, anzi, probabilmente la tua app non sarà nemmeno in esecuzione.
(Ovviamente, avrai bisogno di un responsabile della posizionePer fare in modo che un delegato del gestore località sia in grado di ricevere le richiamate dal sistema quando l'utente attraversa il confine geografico, ma il tuo gestore località non sta ancora effettuando alcuna localizzazione correlata al geofencing.)