2013-08-16 8 views
5

Sto cercando il modo migliore per ottenere la posizione dell'utente. Ho trovato ci sono due modi principali:Ottenere la posizione dell'utente Android

  • Uso com.google.android.gms.location.LocationListener da Google Play Services
  • Uso android.location.LocationListener da API Android

mia domanda è semplice: che uno è il migliore?

Al momento, sto utilizzando il primo ma sto affrontando problemi: quando si utilizza la rete cellulare, la mia posizione non viene mai recuperata.

Grazie per il vostro aiuto.

+0

C'è un terzo da considerare: 'com.google.android.gms.maps.LocationSource.OnLocationChangedListener'. Anch'esso ha un metodo 'onLocationChanged'. – Phil

risposta

1

Il mio suggerimento è il primo. com.google.android.gms.location.LocationListener abstract posizione fiding dal tuo codice. Per esempio codice guardare here per favore. Funziona bene per me con la rete cellulare o wifi.

+0

"abstracts fiding location dal tuo codice" è l'unica ragione per preferire la prima opzione? Grazie. Ho letto il tuo codice e ho qualcosa di simile. –

0

Sono uno degli sviluppatori di new Gps and sensor toolkit app per Android. Abbiamo esaminato questa API durante lo sviluppo, ma abbiamo riscontrato che per la maggior parte degli scopi è possibile utilizzare android.location.LocationListener. L'altra interfaccia è molto più complicata e richiederebbe un po 'più di tempo per essere implementata. Suggerisco android.location.LocationListener.

Il Location classe che viene dato a voi da L'interfaccia fornisce molti metodi che è possibile utilizzare per ottenere la latitudine, la longitudine, velocità, distanza ad un altro punto, che porta, ecc ...

Anche prendere in considerazione GpsStatus.Listener e GpsStatus.NmeaListener per i dati sui satelliti.

+2

hey, non dimenticare di scaricare l'app. (** – FutureSci

+0

Hai torto, com.google.android.gms.location.LocationListener è più facile da usare e non mi interessa la velocità né la distanza .. Sto solo cercando di ottenere la posizione dell'utente nel modo più semplice –

+0

prima di tutto, è una questione di opinione, in secondo luogo tutto ciò che serve è Location.getLatitude() posizione.getLongitude() e questo può essere realizzato in appena 11 righe. FAI LA TUA RICERCA – FutureSci

2

Anche se questo post è molto vecchio ma ho pensato che dovrei rispondere in modo che chiarisca il mio concetto anche su questo. Vedi il link qui sotto:

https://developers.google.com/maps/documentation/android/location 

Dice:

Si noti che il mio livello di posizione non restituisce alcun dato. Se si desidera accedere ai dati di posizione a livello di programmazione, utilizzare l'API di posizione.

Quindi, penso che utilizzando com.google.android.gms.location.LocationListener da Google Play Services potrebbe essere un approccio più facile, ma se si desidera accedere ai dati di localizzazione (esattamente nel mio caso) e si vuole fare qualcosa con esso, che è meglio che usiamo android.location.LocationListener da API Android