2009-08-28 17 views

Odpowiedz

26

Zwraca odległość (w metrach) od współrzędnej odbiornika do współrzędnej określonej lokalizacji.

// Deprecated in iOS 3.2 method 
- (CLLocationDistance)getDistanceFrom:(const CLLocation *)location 

// Correct method 
- (CLLocationDistance)distanceFromLocation:(const CLLocation *)location 

CLLocation

+0

W linii prostej? – Spanky

+1

Uzyskanie dowolnej odległości byłoby problematyczne bez zdefiniowania ścieżki. Jeśli definiujesz ścieżkę, pytasz o długość ścieżki, a nie odległość między dwoma punktami. –

+1

Link do CLLocation: http://developer.apple.com/library/mac/#documentation/CoreLocation/Reference/CLLocation_Class/CLLocation/CLLocation.html – quantumpotato

18

Sposób w poprzedniej odpowiedzi został deprecated in iOS 3.2. Nowa metoda jest bardzo podobna do tej, która zwraca odległość w metrach. To odpowiada za krzywiznę ziemi.

0

szybki 3 func odległości (od lokalizacji: CLLocation) -> CLLocationDistance Opis Zwraca odległości (w metrach) od położenia odbiornika w określonym miejscu. Ta metoda mierzy odległość między dwoma lokalizacjami, śledząc linię między nimi, która następuje po zakrzywieniu Ziemi. Wynikowy łuk jest gładką krzywą i nie uwzględnia specyficznych zmian wysokości między dwoma lokalizacjami. Parametry
lokalizacja Inna lokalizacja. Zwroty Odległość (w metrach) między dwiema lokalizacjami. IOS 3.2 lub nowszym SDK, MacOS 10.6+, tvOS 9.0+, watchOS 2.0+ zadeklarowane w podstawowej Lokalizacja Więcej metody referencyjnej

przykład

let distance = location.distance(from: CLLocation(latitude: 
CLLocationDegrees(oldLocationLat), longitude: 
CLLocationDegrees(oldLocationLng))) 
0

szybki 3

func distance(from location: CLLocation) -> CLLocationDistance Description 

Zwraca odległości (w metrach)

np

locations: [CLLocation] 

let location: CLLocation = locations.last! 

let distance = location.distance(from: CLLocation(latitude: CLLocationDegrees(oldLocationLat), longitude: CLLocationDegrees(oldLocationLng))) 
Powiązane problemy