Estoy escribiendo una aplicación que supervisa la ubicación del usuario. Tengo un objeto CLLocationManager que usa startMonitoringSignificantLocationChanges, por lo que puedo obtener actualizaciones de ubicaciones desde el fondo cuando la aplicación no se está ejecutando. Configuré mi aplicación didFinishLaunchingWithOptions, de modo que si obtengo una clave de ubicación, enciendo mi administrador para obtener la ubicación del usuario. Todo funciona bien, pero el problema es que cada vez que obtengo una ubicación del fondo, la precisión horizontal de esta ubicación es muy mala. En la mayoría de los casos es 1414 m.Location.HorizontalAccuracy demasiado malo al obtener la ubicación desde el fondo
¿Alguien sabe por qué la precisión horizontal es tan mala cuando la ubicación proviene del fondo? ¿Hay algo que pueda hacer para obtener ubicaciones con una mayor precisión en el fondo?
Cuando la aplicación se ejecuta todas las ubicaciones que obtengo son muy precisas, esto solo ocurre cuando la ubicación proviene del fondo. ¿Tiene algo que ver con la cantidad de torres celulares que tengo en mi ciudad? Estaba pensando que tal vez el dispositivo no use gps de nodos wifi para obtener ubicaciones en segundo plano.
De todos modos, cualquier ayuda aquí es apreciada. Por favor, comparta sus ideas.
Gracias!
La investigación de alguien más aquí http://longweekendmobile.com/2010/07/22/iphone-background-gps-accurate-to-500-meters-not-enough-for-foot-traffic/ menciona "CLLocationManager tiene una tendencia a reportar eventos múltiples en un lapso de tiempo muy corto, incluso en el fondo (con menos de 10 segundos de diferencia) ... el segundo evento sería mucho más preciso que el primero " –
Brian gracias por el enlace. Había información muy útil allí. Mencionaron allí que una ubicación es exacta a 500 metros cuando se obtiene desde el fondo, pero eso depende de la ciudad donde se encuentre. He estado probando mi aplicación aquí en Brasilia, Brasil, y la mejor precisión que he obtenido hasta ahora fue de 1200 m. –