运行此代码:
NSLog(@"%f", MKMetersBetweenMapPoints(MKMapPointMake(33.6523, -118.507), MKMapPointMake(34.516, -117.628)));
返回这个:
0.015819
当预期输出应为 ~136900 时。我究竟做错了什么?
看起来您正在为MKMapPointMake()
. 一个MKMapPoint
包含和x
和y
值,而不是纬度和经度。
用于MKMapPointForCoordinate(myLocation)
将您的位置转换为地图点,然后将其提供给您的MKMetersBetweenMapPoints()
函数。
或者更简单,-distanceFromLocation:
与两个CLLocation
对象一起使用。考虑到地球的曲率,它会返回以米为单位的距离。