Вопрос по iphone, core-location – Расстояние между двумя координатами с CoreLocation

18

Мне нужно рассчитать расстояние (в метрах и милях) между двумя заданными координатами

Как я могу это сделать?

Ваш Ответ

4   ответа
0

 CLLocationDistance Описание Возвращает расстояние (в метрах) от получателя.s местоположение в указанном месте. Этот метод измеряет расстояние между двумя точками, отслеживая линию между ними, которая следует за кривизной Земли. Результирующая дуга является гладкой кривой и не учитывает конкретные изменения высоты между двумя точками. параметры

местоположение Другое местоположение. Возвращает Расстояние (в метрах) между двумя точками. SDK для iOS 3.2+, macOS 10.6+, tvOS 9.0+, watchOS 2.0+, объявленные в базовом расположении

например

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

Метод в предыдущем ответе былустарел в iOS 3.2, Новый метод очень похож

- (CLLocationDistance)distanceFromLocation:(const CLLocation *)location

который также возвращает расстояние в метрах. Это'с учетом кривизны земли.

26

е указанного местоположения.

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

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

CLLocation

Получение любого другого расстояния было бы проблематичным без определения пути. Если вы определите путь, вы 'Вы спрашиваете длину пути, а не расстояние между двумя точками. Terry Wilcox
Даунтинг, так как методтеперь не рекомендуется. chakrit
@Spanky Этот метод измеряет расстояние между двумя точками, проводя линию между ними, которая следует за кривизной Земли. Результирующая дуга является гладкой кривой и не учитывает конкретные изменения высоты между двумя точками. Cameron Lowell Palmer
По прямой? Spanky
0

Свифт 3

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

Возвращает расстояние (измеряется в метрах)

например

locations: [CLLocation]

let location: CLLocation = locations.last!

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

Похожие вопросы