【发布时间】:2011-12-08 19:01:01
【问题描述】:
如何使用 mapkit 框架的 distanceFromLocation 方法计算两个位置之间的距离(以英里为单位)。
谢谢
【问题讨论】:
标签: iphone objective-c mkmapview
如何使用 mapkit 框架的 distanceFromLocation 方法计算两个位置之间的距离(以英里为单位)。
谢谢
【问题讨论】:
标签: iphone objective-c mkmapview
【讨论】:
试试下面的代码:
double latA = [currentlat floatValue];
double logA = [currentlong floatValue];
double latB = [toLat floatValue];
double logB = [toLong floatValue];
CLLocation *locA = [[CLLocation alloc] initWithLatitude:latA
longitude:logA];
CLLocation *locB = [[CLLocation alloc] initWithLatitude:latB longitude:logB];
CLLocationDistance distance = [locA distanceFromLocation:locB];
NSLog(@"Calculated Miles %@", [NSString stringWithFormat:@"%.1fmi",(distance/1609.344)]);
【讨论】:
这个函数在 Apple 的文档中似乎很容易解释?它会给出用户位置和给定位置之间的距离,所以你必须创建一个新的 CLLocation 对象来告诉 iPhone 你想去哪里。
该函数以米为单位给出结果。要转换为英里,请乘以 0.000621371192。更多信息见this thread.
【讨论】: