Как использовать метод iPhone - (CLLocationDistance) distanceFromLocation: (const CLLocation *) местоположение - PullRequest
4 голосов
/ 10 ноября 2010

Я новый разработчик для iPhone, изучающий Objective-C, и пытаюсь динамически вычислять расстояния между координатами широты / долготы пользователей с координатами широты / долготы в таблице SQLite.Я знаю, что мы можем использовать метод CLLocations:

(CLLocationDistance)distanceFromLocation:(const CLLocation *)location

, чтобы сделать это, но я не уверен, как его использовать, учитывая данные, которые у меня есть.Как можно использовать вышеупомянутый метод, используя пары координат широта / долгота, учитывая, что вышеупомянутый метод имеет дело только с объектами местоположения типа CLLocation?Может ли кто-нибудь дать мне простой пример того, как использовать этот метод, используя две пары координат широты / долготы?

1 Ответ

8 голосов
/ 10 ноября 2010

Просто создайте CLLocation объекты из ваших данных:

// Assumption: lat1, lon1 and lat2, lon2 are double values containing the coordinates
CLLocation *firstLocation = [[[CLLocation alloc] initWithLatitude:lat1 longitude:lon1] autorelease];
CLLocation *secondLocation = [[[CLLocation alloc] initWithLatitude:lat2 longitude:lon2] autorelease];
CLLocationDistance distance = [secondLocation distanceFromLocation:firstLocation];
...