Ci sono diversi criteia per determinare l'accuratezza della posizione
Una volta che il dispositivo inizia fornendo sedi in tempo reale, il mio suggerimento è quello di verificare l'esattezza di ogni risultato e considerare rifiutando quelle maggiore di una certa quantità che sono in base alle tue esigenze. Quanto più lungo è il provider di posizione, e se il dispositivo ha una visuale non ostruita del cielo e una buona connessione cellulare, in genere l'accuratezza migliorerà fino a un certo punto e poi si stabilizzerà, quindi fluttuerà. Ecco un frammento pseudo-codice che mostra come controllare l'accuratezza di ogni risultato posizione GPS:
1
2
3
Ecco alcuni esempi di massima delle soglie di precisione. Le tue esigenze possono variare in base a come queste diverse soglie influenzeranno il comportamento della tua applicazione; questi erano esempi che richiedevano il geocoding che convertiva la posizione corrente in un indirizzo approssimativo. A seconda del risultato l'applicazione ha dato un feedback diverso all'utente:
Rooftop <= 10 meters (desired result)
Street >10 meters and <= 100 meters (let user know it’s close but not perfect. Good enough?)
Neighborhood > 100 meters and <= 500 meters (give visual feedback that accuracy is low)
City > 500 meters and <= 2000 meters (ask user to verify city name from a list)
County > 2000 meters (prompt for manual location input)
Prendere in considerazione i propri casi d'uso unici. Potresti rifiutare completamente qualsiasi valore di precisione superiore a 100 metri (328 piedi) se la tua app aiuta semplicemente le persone a trovare parcheggi aperti nei giochi NFL. Potresti avere un'app che restituisce un elenco di uffici dentisti entro un raggio di 5 miglia (8000 m). O un'app meteo potrebbe solo aver bisogno di sapere approssimativamente in quale città ti trovi. Queste sono solo idee per aiutarti a pensare.
public void onLocationChanged(Location location) {
if(location.getAccuracy() < 100.0 && location.getSpeed() < 6.95){
//Do something
}
else{
//Continue listening for a more accurate location
}
fonte
2015-07-23 12:35:38
Grazie! Sfortunatamente, sembra essere un altro caso in cui la documentazione di Android è un po 'carente. Il collegamento del codice sorgente è utile! – robguinness
Non chiedere troppo, ma se la risposta ti ha aiutato, potresti accettarlo! – npace
Mi piace dare domande un giorno o due prima di accettare una risposta. Ti ho fatto invidia anche se! – robguinness