我想基于另一个CLLocationCoordinate2D
(或CLLocation
)创建一个返回随机CLLocationCoordinate2D
(或CLLocation
对象)的方法。生成的坐标应该在一定距离内(不度,因此基于CLLocationDistance
值或等效值,不 CLLocationDegrees
)任意随机方向的坐标。所以我基本上在圆形边界内生成一个随机坐标。
我理解如何在常规坐标系统中轻松完成此操作(只需使用一些基本触发来计算从边界中心随机角度和半径的新坐标),但是我仍然坚持如何做到这一点在纬度/经度系统中。如果我想根据度数差异生成一个随机坐标,我可以很容易地使用trig这样做,但是这些结果会越靠近极点就会变得偏斜,所以我想根据距离来做。
我在文档中找不到任何可以帮助我的内容。如果有某种方法通过基于某个方向和距离替换现有坐标来获得新坐标,那肯定会有所帮助,但我在文档或网络上找不到任何相关内容。有什么想法吗?
答案 0 :(得分:2)
请参阅this page。它的简短版本是:距离取决于起点和终点的经度,最佳/快速计算方法是使用一个名为Haversive公式的公式。还有Objective C implementation here。