【发布时间】:2022-01-22 02:33:00
【问题描述】:
我有 2 个点(Android Location 对象):当前位置和目标位置。我也有我设备的方向(以度为单位)。
我想计算目标位置和方向之间的角度。怎么做才合适?
我从 FusedLocationProvider 接收位置(如果有问题)。 现在我只是使用
float requiredAngle = Math.abs(location.getBearing() - 180 - target.bearingTo(location));
float angleBetween = Math.abs(requiredAngle - location.getBearing());
它返回的角度不正确。
我认为我应该计算真北和磁北之间的差异并添加设备方向。然后使用currentPosition.bearingTo(target),并从方位中减去设备方向。
【问题讨论】:
-
这是 2d 还是 3d 字段?什么是 X,Y 和 Z 那么我们就可以为这个问题提供一个公式
-
这是 3D 字段。我有 GPS 坐标:地球上某个点的纬度和经度。
标签: java android geometry android-gps