Toa*_*tor 29
你为什么不使用CLLocation的distanceFromLocation:方法?它会告诉您接收器与另一个CLLocation之间的精确距离.
CLLocation *locationA = [[CLLocation alloc] initWithLatitude:12.123456 longitude:12.123456];
CLLocation *locationB = [[CLLocation alloc] initWithLatitude:21.654321 longitude:21.654321];
CLLocationDistance distanceInMeters = [locationA distanceFromLocation:locationB];
// CLLocation is aka double
[locationA release];
[locationB release];
就这么简单.
你的问题还在于找到线 (A,B) 和点 C 之间的最短线。我想如果你的 3 个 CLLocations 很近(相距不到几公里),你可以进行数学计算,“就好像”坐标是单个平面上的点,并在 C++ 中使用它,或者这个或这个,然后仅使用 CLLocations,“就好像”它们是平面上的 x 和 y 坐标。
如果您的坐标很远,或者精确度很重要,那么地球的球形就很重要,并且您需要使用大圆距离和球体表面的其他几何形状来进行操作。
| 归档时间: | 
 | 
| 查看次数: | 5888 次 | 
| 最近记录: |