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!

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top