如何使用Android指南针从当前位置计算与(Kabba)麦加的夹角。我正在使用以下代码,但未给出正确的角度

Location currentLoc = MYGPS.getLocation(DirectionActivity.this);
            currentLat = currentLoc.getLatitude();
            currentLng = currentLoc.getLongitude();
Location KaabaLoc = new Location("GPS");
            KaabaLoc.setLatitude(KaabaLat);
            KaabaLoc.setLongitude(KaabaLng);

            private float bearing = KaabaLoc.bearingTo(currentLoc)%(float)(2*Math.PI);

最佳答案

尝试实施此方法,希望对您有所帮助:

double angle = Math.atan2(dlat, dlon); // in radians


假设默认情况下,您的箭头指向水平轴(向东)。您可能必须通过可绘制箭头所指向的任何方向进行调整。例如,如果它指向恒定的90度角,只需将其旋转额外的0.5 * PI rad以使其对齐即可。

for more info please read this

10-08 03:42