我正在使用以下方法来查找我当前位置和目的地位置之间的角度。
public float calculateBearing(Location before, Location after) {
Point pBefore = location2Point(before);
Point pAfter = location2Point(after);
float res = -(float) (Math.atan2(pAfter.y - pBefore.y,pAfter.x-pBefore.x)*180/ Math.PI) + 90.0f;
if (res < 0)
{
Log.e("angle ",""+(res + 360.0f));
return res + 360.0f;
}
else
{
Log.e("angle ",""+res);
return res;
}
}
但这给出了从用户当前位置始终朝向北方的角度。但如果用户转向南方或东方,我也需要根据用户方位计算角度。
我知道使用传感器管理器可以计算方位角。但是我如何计算从用户当前位置到目标位置的方位角。
提前致谢