我想知道我如何计算iPhone用户位置和存储在plist中的给定坐标之间的距离?iOS比较地理位置
1
A
回答
6
您可以使用CLLocation
方法distanceFromLocation:
来计算两个CLLocation
之间的对象。您可以使用CLLocationManager
来获取用户的当前位置,并且可以使用initWithLatitude:longitude:
初始值设定项为坐标创建一个CLLocation
实例。
distanceFromLocation:
返回以米为单位的距离。
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!
相关问题
- 1. iOS比较GPS位置
- 2. 地理位置异步iOS
- 3. 谷歌地图比较位置
- 4. 比较GPS位置
- 5. 如何比较Android中的地理位置?
- 6. 我不能让Linq比较地理位置?
- 7. 位置管理器获取和比较位置
- 8. iOS上的Google地理位置
- 9. iOS中的地理位置通知
- 10. iOS地理位置居住事件
- 11. ios的地理位置准确性
- 12. 比较位(一次一个位置)
- 13. 如何比较iOS中的位图?
- 14. 放置比较器的最佳位置
- 15. iOS iP地址比较IP范围
- 16. HTML/JS地理定位和比较坐标
- 17. 比较地理定位以确定Ruby中的重复项目
- 18. iOS:从没有地图的当前位置获取地理位置的角度
- 19. IPV6地址的按位比较
- 20. Google+地理位置
- 21. undefined地理位置
- 22. 地理位置elasticsearch
- 23. OrientDB地理位置
- 24. HTML5地理位置
- 25. SQL:地理位置
- 26. Xamarin.iOS地理位置
- 27. 地理位置API
- 28. 地理位置铬
- 29. Codeception地理位置
- 30. 地理位置iPhone
因子对于度数是错误的:0.01745329是正确的。如果您正在进行多次长距离计算,则错误可能会加起来。 – Ozzah 2011-06-14 23:59:43
你说得对。我编辑了答案。 – 2011-06-15 13:12:03