12 votos

¿Por qué Android tiene tantos problemas para recordar la última ubicación conocida?

Nunca he sido capaz de entender la forma en que Android recuerda su última ubicación conocida. Parece que recuerda la ubicación de hace varias horas pero no la de hace varios segundos. Creo que es mejor dar un ejemplo de lo que quiero decir.

Hace poco estuve en la zona de la bahía. Estaba usando los mapas de Google en mi Android y resulta que estaba en los alrededores del Campus de Google en Mountain View. Estaba usando los mapas con el GPS activado y después de un rato conseguí un bloqueo de GPS adecuado que usé para navegar por la zona.

Cuando volví a San Francisco más tarde, lo utilicé para moverme por la ciudad. Cada vez que encendía los mapas ponía mi ubicación en Mountain view. Unos 10 segundos más tarde, después de obtener el bloqueo del GPS, obtuve mi ubicación real. Si apagaba el teléfono y lo volvía a encender unos segundos más tarde, ocurría lo mismo: pensaba que estaba en un lugar en el que había estado horas antes y luego me daba mi ubicación real. Esto sucede todo el tiempo: recuerda dónde estaba hace horas, pero no dónde estaba hace unos momentos. Una vez que he estado en una zona durante cierto tiempo, ésta se convierte en la nueva "última ubicación conocida".

¿Por qué, una vez que obtengo un bloqueo GPS preciso, Android no lo registra como la "última ubicación conocida" en lugar de una anterior?

3voto

user4188 Puntos 390

No es una respuesta completa, pero sí una información de fondo:

  • Tu dispositivo puede tener más de un proveedor de localización, por ejemplo, uno basado en el GPS y otro en las torres de telefonía móvil que puede ver.
  • Android no tiene una única última posición conocida. Cada proveedor de localización tiene su propia última posición conocida.
  • Una localización tiene métricas adicionales, como la precisión, cuándo se registró, qué se registró (por ejemplo, si tiene un componente de altitud, etc.)

Por lo tanto, depende del proveedor de localización que utilice la aplicación y eso puede depender o incluso cambiar en función de parámetros dinámicos. Por ejemplo, al iniciar la aplicación puede pedir a Android el proveedor de localización más rápido para empezar a funcionar y luego cambiar al más preciso para obtener gradualmente una mejor localización.

2voto

Andy Shinn Puntos 286

Tengo entendido que Android utiliza actualizaciones de localización de tipo grueso y fino y estas actualizaciones pueden tener también diferentes métricas de calidad. Podría ser que la aplicación de Google Maps no tuviera señal de GPS y Wifi el tiempo suficiente en tu nueva ubicación como para tener la calidad suficiente para ser la última ubicación conocida.

La documentación para desarrolladores en http://developer.Android.com/guide/topics/location/obtaining-user-location.html dar algunos modelos de ejemplo para obtener las ubicaciones de los usuarios que podrían dar una idea de cómo funciona. Pero supongo que Google Maps, y probablemente otros mapas, hacen lo suyo.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X