如何在地图上计算用户标题和地理位置之间的角度

时间:2014-12-17 13:10:21

标签: android mapquest

背景:

我正在使用mapquest地图为android开发导航应用程序。我有一个易碎装置,当用户必须左/右转动时它会振动。现在,当用户偏离mapquest计算的路径时,会发生重新路由。有时,新创建的路径与用户标题不同。所以,我想指出用户左/右/后退以返回新路径并继续常规导航过程。

问题:

如何计算固定用户标题和地理位置之间的方位,以便我可以将该地理位置放在参考用户位置的N / S / E / W象限中,并指示如果它是向西或向右则向左转它是东

以下是指向上述概念的图片的链接

https://www.dropbox.com/s/m8tugeavmjb46ck/Untitled.jpg?dl=0

请帮帮我

谢谢

1 个答案:

答案 0 :(得分:1)

您需要计算用户面向/标题的方向与将用户的位置连接到目标地理点的向量之间的角度差。在您分享的图片中,此角度将逆时针旋转90度。

面向/方位方向的计算:如果用户正在移动,请使用location.getBearing()。如果静止不动,请使用指南针获取朝向的方向。

计算从当前位置到目的地的向量方向:使用myLocation.bearingTo(destination)

最后,计算两个方向之间的差异