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

问题描述 投票:4回答:1

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

(CLLocationDistance)distanceFromLocation:(const CLLocation *)location

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

iphone objective-c geolocation cllocation
1个回答
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];
© www.soinside.com 2019 - 2024. All rights reserved.