我正在尝试制作一个指南针应用程序。但是当方位角从 179 度变为 -179 度时会出现问题,反之亦然,罗盘图像从 179 度移动 360 度到 -179 度。
我尝试检测显着的角度变化,然后调整方位角,但失败了
float angleDifference = Math.abs(azimuthInDegree-currentDeegre);
if (angleDifference>300f) {
if (azimuthInDegree > currentDeegre) {
azimuthInDegree = 360f - azimuthInDegree;
}
if (azimuthInDegree < currentDeegre) {
azimuthInDegree = -azimuthInDegree-360f;
}
}
经过一些实验完成
if (azimuthInDegree > currentDeegre ) {
azimuthInDegree = azimuthInDegree-360f;
}
if (azimuthInDegree < currentDeegre ) {
azimuthInDegree = 360f + azimuthInDegree;
}
}