2013-08-01 8 views
83

Ho un programma in cui i valori di latitudine e longitudine di una posizione sono memorizzati in un database, che viene scaricato.Creazione di un oggetto Posizione in Android con valori di latitudine e longitudine

Voglio ottenere la distanza tra queste coordinate e la posizione corrente.

La classe Location ha un metodo semplice per trovare la distanza tra due oggetti Location, quindi ho pensato di creare un oggetto Location con le coordinate, quindi chiamare il metodo.

C'è un modo semplice per farlo? Inoltre, se esiste un'altra equazione affidabile e abbastanza semplice che non ingombrerà troppo le cose, funzionerebbe anche quella. Grazie.

(android.location.Location)

+0

Cercare http://stackoverflow.com/questions/8049612/calculating-distance-between-two-geographic-locations per più –

risposta

25

È possibile creare posizioni utilizzando their constructor, quindi impostare i valori latutude e longitudine.

final Location location = new Location("yourprovidername"); 
location.setLatitude(1.2345d); 
location.setLongitude(1.2345d); 
+0

Hah, si risponde in primo luogo è – IlyaEremin

+0

@IlyaEremin PMSL !! –

+0

@dst Che cos'è "" yourprovidername "'? –

205

Supponendo di avere già un oggetto posizione con la posizione corrente.

Location targetLocation = new Location("");//provider name is unnecessary 
targetLocation.setLatitude(0.0d);//your coords of course 
targetLocation.setLongitude(0.0d); 

float distanceInMeters = targetLocation.distanceTo(myLocation); 
+1

+1 come i commenti in questa risposta, sebbene abbreviati e semplici, erano in realtà estremamente utili. Grazie @Exception Al – Subby

+0

Grazie ....... !!! –

+1

Davvero un cattivo esempio di documentazione per Android, abbiamo perso un bel po 'di tempo su questo. La mia altra domanda è suppongo che fornisco un fornitore valido come gps, mi darà la posizione corrente? In altre parole, qual è il significato del provider –