iOS比较地理位置

时间:2011-06-14 21:44:49

标签: ios maps coordinates

我想知道如何计算iPhone用户位置与存储在plist中的给定坐标之间的距离?

2 个答案:

答案 0 :(得分:6)

您可以使用CLLocation方法distanceFromLocation:计算两个CLLocation个对象。您可以使用CLLocationManager获取用户的当前位置,也可以使用CLLocation初始化程序为坐标创建initWithLatitude:longitude:实例。

distanceFromLocation:以米为单位返回距离。

答案 1 :(得分:1)

这是计算点之间的实例的通用公式,以千米为单位。

acos(sin(lat1rad) * sin(lat2rad) + cos(lat1rad) * cos(lat2rad) * cos(lon2rad - lon1rad))) * 6378.1

6378.1是约。以千米为单位的地球半径。确保以弧度表示de值,而不是以度数表示。以防万一,将度数转换为弧度的最简单方法是:

radians = (degrees * 0.01745329) // degrees * pi over 180

编辑:修改公式以在度和弧度之间进行转换。谢谢Ozzah