2016-08-26 5 views
3

Я хочу рассчитать расстояние от моего местоположения до другого. Я нашел эту строку кода:Найти расстояние в Km с Swift

let distanceInMeters = location1.distanceFromLocation(location2) 

Но моя проблема в том, что я не знаю, как принять его от широты и долготы.

+0

Итак, у вас есть лат и длинный? у вас просто нет места? –

+0

@PavelGatilov да, я не знаю, в каком формате это должно быть. –

+0

Но у вас есть широта и долгота? –

ответ

4

Итак, вам просто нужно создать 2 CLLocation объекты вашей широты и долго, а затем просто вызовите строку кода, который вы нашли.

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

let distanceInMeters = location1.distanceFromLocation(location2) 

Кроме того, это вернет вам расстояние в метрах, а не в км.

+0

Я тестирую его с вашими номерами. Я получаю это 1497148.92413003, когда я его печатаю. Правильно? –

+0

@mikevorisis Несомненно, это расстояние почти 1500 км между 20N 20E и 30N 30E, что кажется разумным. –

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  
} 

Вы можете попробовать эту функцию, я использую его в моем коде

+0

, почему вам нужен менеджер местоположений, если у вас уже есть широта и долгота? –

Смежные вопросы