1

运行此代码:

NSLog(@"%f", MKMetersBetweenMapPoints(MKMapPointMake(33.6523, -118.507), MKMapPointMake(34.516, -117.628)));

返回这个:

0.015819

当预期输出应为 ~136900 时。我究竟做错了什么?

4

1 回答 1

4

看起来您正在为MKMapPointMake(). 一个MKMapPoint包含和xy值,而不是纬度和经度。

用于MKMapPointForCoordinate(myLocation)将您的位置转换为地图点,然后将其提供给您的MKMetersBetweenMapPoints()函数。

或者更简单,-distanceFromLocation:与两个CLLocation对象一起使用。考虑到地球的曲率,它会返回以米为单位的距离。

于 2012-05-13T10:37:35.410 回答