2

我正在使用以下方法来查找我当前位置和目的地位置之间的角度。

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;
      }
    }

但这给出了从用户当前位置始终朝向北方的角度。但如果用户转向南方或东方,我也需要根据用户方位计算角度。

我知道使用传感器管理器可以计算方位角。但是我如何计算从用户当前位置到目标位置的方位角。

提前致谢

4

0 回答 0