我有 2 个点,一个静态地图注释和移动的用户设备。对于这两个点,我都有纬度和经度,对于移动设备,我的路线是 N 度数为 0,E 度数为 90,依此类推。我如何确定第二个静态点是否在我的位置的 N、E、W、S 处?
问问题
39 次
1 回答
0
假设您的设备位于 点(x,y)
,静态点位于(xs,ys)
。
考虑这两点之间的直角三角形。它有长度为xs-x
和的导管ys-y
,所以 x 轴和斜边之间的夹角是arctan((ys-y)/(xs-x))
。请注意,斜边指向 的方向(xs,ys)
,因此该角度告诉您该点所在的方向。
如果角度为0
,则静态点在东方。
如果角度为pi/2
,则静态点在北方。
如果角度为pi
,则静态点在西边。
如果角度为3*pi/2
,则静态点在南方。
如果您希望将此角度转换为 0 度为北,90 度为东等,这只是计算的问题(360 + 90 - angle * 180/pi) % 360
于 2012-07-17T12:10:45.973 回答