Cómo encontrar los resultados GPS más precisos del iPhone
-
05-07-2019 - |
Pregunta
Recuerdo haber leído en algún lugar (no recuerdo dónde) que si una aplicación de iPhone simplemente ejecutó CLLocationManager una vez, no obtuvo los resultados más precisos.
¿Esto es correcto y, de ser así, cómo puedo combatir este problema? Quiero ofrecer los resultados de GPS más precisos, y me pregunto si solo una vez creará los mejores resultados.
¡Gracias por cualquier ayuda!
Solución
CLLocationManager *locationManager.desiredAccuracy = kCLLocationAccuracyBest;
Devolverá el mejor resultado posible para ti. El método de delegado
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
continuará devolviendo la ubicación del usuario en función de las preferencias de precisión que haya establecido.
Si solo necesita la ubicación una vez, debe recordar llamar a stopUpdatingLocation
en self
. Si necesita actualizar la ubicación del usuario continuamente, no llame a stopUpdatingLocation
Estoy usando CoreLocation para obtener la ubicación de un usuario, y es bastante preciso para mi uso.
Otros consejos
Lo que leíste era probable de la Guía de programación de aplicaciones para iPhone :
Para recuperar la información actual del usuario. ubicación, crear una instancia de la CLLocationManager clase y configurar con la precisión deseada y parámetros de umbral. Empezar recibir notificaciones de ubicación, asignar un delegado al objeto y llamar al método startUpdatingLocation para iniciar la determinación de la ubicación actual del usuario. Cuando nuevo Los datos de ubicación están disponibles, el administrador de ubicación notifica su asignado objeto delegado Si una actualización de ubicación ya ha sido entregado, puedes También obtén los datos de ubicación más recientes. directamente desde el CLLocationManager Objeto sin esperar un nuevo evento. para ser entregado.
[...]
La comprobación de la marca de tiempo de un evento es recomendado porque la ubicación Servicio a menudo devuelve el último almacenado en caché evento de ubicación de inmediato. Puede Tómate unos segundos para obtener un rugoso. corrección de ubicación por lo que los datos antiguos simplemente Sirve como una manera de reflejar lo último. ubicación conocida. También puedes usar el La precisión como medio de determinación. Si quieres aceptar un evento. A medida que recibe datos más precisos, el servicio de ubicación puede devolver adicional eventos, con los valores de exactitud reflejando las mejoras en consecuencia.