位置 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]));
我正在尝试从 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]));