位置 getBearing 返回负值

Location getBearing is returning negative values

我正在尝试从 Phone 位置获取实时方位角。

我们可以从 GPS 获得 location.getBearing() 的直接方位。但是,如果我们使用的是蜂窝网络,我们将无法获得方位,因此我尝试使用

从旧保存位置和当前位置计算方位
       heading = mLocation.bearingTo(location);

mLocation是旧位置,location是新位置。然而它的一些值是负的。

http://developer.android.com/reference/android/location/Location.html

清楚地告诉值应该从 0 到 360,这是怎么回事。

如果您向东移动,您的方位角为 90 度,如果您向南移动,则为 +180 或 - 180,如果您向西移动,则为 -90 度。

尝试使用以下行

int azimut = (int) Math.round(Math.toDegrees(orientation[0]));