如何使用iPhone方法 - (CLLocationDistance)distanceFromLocation:(const CLLocation *)的位置

时间:2010-11-10 01:14:09

标签: iphone objective-c geolocation cllocation

我是一名学习Objective-C的新iPhone开发人员,我正在尝试使用SQLite表中的纬度/经度坐标动态计算用户纬度/经度坐标之间的距离。我知道我们可以使用CLLocations方法:

(CLLocationDistance)distanceFromLocation:(const CLLocation *)location

要做到这一点,但我不确定如何根据我拥有的数据使用它。如何使用上述方法使用纬度/经度坐标对,考虑到上述方法只处理CLLocation类型的位置对象?任何人都可以给我一个简单的例子,说明如何使用两对纬度/经度坐标来使用这种方法吗?

1 个答案:

答案 0 :(得分:8)

只需从您的数据中创建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];