2013-08-01 3 views
83

Ich habe ein Programm, in dem die Breiten- und Längenwerte eines Standortes in einer Datenbank gespeichert sind, die ich herunterlade.Erstellen eines Standortobjekts in Android mit Breiten- und Längenwerten

Ich möchte den Abstand zwischen diesen Koordinaten und meinem aktuellen Standort erhalten.

Die Location-Klasse hat eine einfache Methode, um den Abstand zwischen zwei Location-Objekten zu finden. Daher dachte ich, dass ich ein Location-Objekt mit den Koordinaten erstellen und dann die Methode aufrufen würde.

Gibt es eine einfache Möglichkeit, dies zu tun? Auch wenn es eine andere zuverlässige, ziemlich einfache Gleichung gibt, die die Dinge nicht zu sehr stört, würde das auch funktionieren. Vielen Dank.

(android.location.Location)

+0

Blick http://stackoverflow.com/questions/8049612/calculating-distance-between-two-geographic-locations für mehr –

Antwort

25

Sie Standorte their constructor mit erstellen können, legen Sie dann die latutude und Längenwerte.

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

Hah, Sie beantworten erste – IlyaEremin

+0

@IlyaEremin PMSL !! –

+0

@dst Was ist '" yourprovidername "'? –

205

Angenommen, Sie haben bereits ein Standortobjekt mit Ihrem aktuellen Standort.

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, da die Kommentare in dieser Antwort, obwohl abgekürzt und einfach, in der Tat extrem hilfreich waren. Danke @Exception Al – Subby

+0

Danke ....... !!! –

+1

Wirklich schlechtes Beispiel für die Dokumentation von Android, verschwendet eine ganze Weile darauf. Meine andere Frage ist, dass ich einen gültigen Provider wie GPS zur Verfügung stelle, wird es mir den aktuellen Standort geben? Mit anderen Worten, was ist die Bedeutung von Provider –

Verwandte Themen