我想知道如何计算iPhone用户位置与存储在plist中的给定坐标之间的距离?
答案 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!