CLLocationManager y problemas de precisión: ¿alguna experiencia?

Así que estoy lidiando con algunos problemas de precisión con el iPhone GPS. Tengo una aplicación que usa ubicación.

En el método delegadolocationManager: didUpdateToLocation: fromLocation: Me devuelven un lugar. Según un poco de investigación, parece que el GPS no siempre es preciso en el primer resultado que devuelve, incluso cuando se configuradesiredAccuracy propiedad akCLLocationAccuracyBest.

Para evitar esto, no llamostopUpdatingLocation antes de que sea devueltonewLocation: al menos 3 veces (esto es muy rápido). También he jugado con otros dos "requisitos" para saber sistopUpdatingLocation y devolver elnewLocation. Una forma que intenté fue verificar el lat y anhelarnewLocation y comparar conoldLocation y si estos no fueran idénticos, entonces mantenga la actualización de ubicación en ejecución. También intenté comprobar la distancia entreoldLocation ynewLocation y si es inferior a 20 metros, está bien. Ambos se prueban con la devolución de al menos 3 ejecuciones. La última forma es menos "estricta", ya quenewLocation yoldLocation es bastante difícil salirse con la suya al ser 100% idéntico si el usuario está en un vehículo en movimiento.

Ahora, mi problema es que, incluso al hacer lo anterior (básicamente, no aceptar una ubicación, hasta que se hayan producido algunas actualizaciones enCLLocationManager Y comprobar la distancia entre elCLLocations (o si son idénticos) Todavía estoy viendo resultados algo extraños para las ubicaciones a veces, durante las pruebas.

A veces sería una solución si dejo la aplicación, voy a Maps.app, uso el GPS, luego abro la multitarea, forzo a cerrar mi aplicación y luego la vuelvo a abrir para obtener un inicio limpio.

¿Alguna experiencia y posibles soluciones que la gente haya usado para solucionar el mismo tipo de problema? Comentarios y soluciones apreciados :)

Respuestas a la pregunta(2)

Su respuesta a la pregunta