Android中的Qibla指南针

时间:2012-06-04 19:55:27

标签: android compass-geolocation

我已经尝试了很多但是不能为我的应用制作Qibla指南针。我无法理解我的所作所为。我需要能够完美运行的Qibla指南针。

1 个答案:

答案 0 :(得分:8)

您知道麦加的位置,并且您知道用户当前位置(如果您有GPS或其他位置提供商)。轴承由这个公式给出,纬度和经度应该是弧度。

float lonDelta = (lon2 - lon1);
float y = Math.sin(lonDelta) * Math.cos(lat2);
float x = Math.cos(lat1) * Math.sin(lat2) - Math.sin(lat1) * Math.cos(lat2) * Math.cos(lonDelta);
float brng = Math.atan2(y, x).toDeg();

brng是度数的方向。

您还可以浏览Location.bearingTo()方法,see here