如何使用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