我有 2 个点(Android Location 对象):当前位置和目标位置。我还有设备的方向(以度为单位)。
我想计算目标位置和方向之间的角度。怎样做才正确呢?
我从 FusedLocationProvider 接收位置(如果有的话)。现在我只用
float requiredAngle = Math.abs(location.getBearing() - 180 - target.bearingTo(location));
float angleBetween = Math.abs(requiredAngle - location.getBearing());
它返回的角度不正确。
我想我应该计算真北和磁北之间的差异并添加设备方向。然后使用 currentPosition.bearingTo(target),并从方位中减去设备方向。