Perché Android ha tali problemi a ricordare l'ultima posizione nota?


12

Non sono mai stato in grado di capire il modo in cui Android ricorda la sua ultima posizione nota. Se sembra ricordare la posizione di diverse ore fa, ma non diversi secondi fa. Penso che sia meglio dare un esempio di ciò che intendo.

Di recente sono stato nella Bay Area. Stavo usando Google Maps sul mio Android e mi è capitato di trovarmi nel Campus di Google a Mountain View. Stavo usando le mappe con il GPS abilitato e dopo un po 'ho ottenuto un corretto blocco GPS che ho usato per navigare nell'area.

Quando sono tornato a San Francisco in seguito, lo stavo usando per girare la città. Ogni volta che ho attivato le mappe, la mia posizione è tornata in Mountain View. Circa 10 secondi dopo, dopo aver ottenuto il blocco GPS, ho ottenuto la mia posizione reale. Se dopo qualche secondo ho spento e riacceso il telefono è successa la stessa cosa, mi sembra che mi trovassi da qualche parte qualche ora prima e poi entra in contatto con la mia posizione attuale. Questo succede sempre - ricordando dove ero ore fa, non dove ero qualche momento fa. Una volta che sono stato in una zona per un certo periodo di tempo, questo ora diventa la nuova "ultima posizione nota".

Perché, una volta ottenuto un preciso blocco GPS, Android non registra questo come "ultima posizione nota" anziché una precedente?

Risposte:


3

Non una risposta completa, ma alcune informazioni di base:

  • Il dispositivo può avere più di 1 provider di posizione, ad esempio uno basato sul GPS e uno basato su quali torri di telefonia mobile può vedere.
  • Android non ha una sola ultima posizione nota. Ogni fornitore di posizione ha la sua ultima posizione nota.
  • Una posizione ha metriche aggiuntive, come la precisione, quando è stata registrata, cosa è stato registrato (ad es. Ha una componente di altitudine ecc.)

Quindi dipende dal provider di posizione utilizzato dall'app e che può dipendere o persino cambiare in base a parametri dinamici. Ad esempio all'avvio potrebbe chiedere ad Android il provider di posizione più veloce per iniziare e poi passare a quello più preciso per ottenere gradualmente una soluzione migliore.


Questa è una spiegazione concisa, davvero buona. Grazie.
Nick Dixon,

Questo ha anche senso come quando ero tornato in città non avevo dati wifi / mobili. Al campus di Google c'era il wifi. Quindi le mappe devono aver inizialmente utilizzato la posizione sconosciuta "grossolana" (cioè wifi) (che era su Google) e poi quando il GPS è entrato in funzione in pochi secondi dopo si aggiorna. Avrei pensato ancora che la localizzazione GPS sarebbe stata una lettura più fresca / migliore.
Tim

questa risposta è più simile a un commento. e se la localizzazione approssimativa ha meno priorità, spiegherebbe ancora meno perché il telefono ha restituito la vista mnt in seguito.
gcb

2

Comprendo che Android utilizza aggiornamenti di localizzazione di tipo a grana grossa e fine e anche questi aggiornamenti possono avere metriche di qualità diverse. È possibile che l'applicazione Google Maps non abbia avuto il segnale GPS e Wifi abbastanza a lungo nella tua nuova posizione per essere di qualità abbastanza elevata da essere l'ultima posizione nota.

I documenti per gli sviluppatori su http://developer.android.com/guide/topics/location/obtain-user-location.html forniscono alcuni modelli di esempio per ottenere le posizioni degli utenti che potrebbero dare un'idea di come funziona. Ma immagino che Google Maps, e probabilmente altre mappe, facciano le proprie cose.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.