2016-08-26 1 views
3

Ich möchte die Entfernung von meinem Standort zu einem anderen berechnen. Ich fand diese Codezeile:Finden Sie die Entfernung in km mit Swift

let distanceInMeters = location1.distanceFromLocation(location2) 

Aber mein Problem ist, dass ich weiß nicht, wie es aus Breiten- und Längengrad zu nehmen.

+0

Also, hast du lat und lang? Sie haben einfach keinen Standort? –

+0

@PavelGatilov ja Ich weiß nicht, welches Format es sein sollte. –

+0

Aber haben Sie Längen- und Breitengrad? –

Antwort

4

Also, man muss nur 2 CLLocation Objekte aus lat und lange erstellen und dann rufen Sie die Codezeile, die Sie gefunden.

let location1 = CLLocation(latitude: 20.0, longitude: 20.0) 
let location2 = CLLocation(latitude: 30.0, longitude: 30.0) 

let distanceInMeters = location1.distanceFromLocation(location2) 

Auch dies wird Ihnen die Entfernung in Metern zurückgeben, nicht in km.

+0

Ich teste es mit deinen Zahlen. Ich bekomme diese 1497148.92413003, wenn ich es drucke .. Ist es richtig? –

+0

@mikevorisis Sicher, es bedeutet, dass die Entfernung fast 1500 km zwischen 20N 20E und 30N 30E ist, was vernünftig erscheint. –

1
func locationManager(manager: CLLocationManager!, didUpdateLocations locations: [AnyObject]!) { 
var userLocation:CLLocation = locations[0] as! CLLocation 
let long = userLocation.coordinate.longitude; 
let lat = userLocation.coordinate.latitude; 
// use it for your code  
} 

Diese Funktion können Sie versuchen, ich benutze es in meinem Code

+0

Warum brauchen Sie Location Manager, wenn Sie bereits Breiten- und Längengrad haben? –

Verwandte Themen