0

我有 2 个点,一个静态地图注释和移动的用户设备。对于这两个点,我都有纬度和经度,对于移动设备,我的路线是 N 度数为 0,E 度数为 90,依此类推。我如何确定第二个静态点是否在我的位置的 N、E、W、S 处?

4

1 回答 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 回答