Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 我的指南针怎么指向麦加?_Android - Fatal编程技术网

Android 我的指南针怎么指向麦加?

Android 我的指南针怎么指向麦加?,android,Android,我从这个链接中获取了指南针代码 如何在我的指南针上设置麦加的位置 我需要做什么才能将指南针指向麦加?您需要确定您相对于麦加的位置,因此您需要位置许可并实施位置更新 您可以使用以下方法实现该功能: 有了这些信息,你可以确定麦加在你的指南针上的位置,并据此进行设置。要确定角度,请使用以下代码: private double angleFromCoordinate(double lat1, double long1, double lat2, double long2) { double

我从这个链接中获取了指南针代码

如何在我的指南针上设置麦加的位置


我需要做什么才能将指南针指向麦加?

您需要确定您相对于麦加的位置,因此您需要
位置许可
并实施
位置更新

您可以使用以下方法实现该功能:

有了这些信息,你可以确定麦加在你的指南针上的位置,并据此进行设置。要确定角度,请使用以下代码:

private double angleFromCoordinate(double lat1, double long1, double lat2,
    double long2) {

double dLon = (long2 - long1);

double y = Math.sin(dLon) * Math.cos(lat2);
double x = Math.cos(lat1) * Math.sin(lat2) - Math.sin(lat1)
        * Math.cos(lat2) * Math.cos(dLon);

double brng = Math.atan2(y, x);

brng = Math.toDegrees(brng);
brng = (brng + 360) % 360;
brng = 360 - brng; // count degrees counter-clockwise - remove to make clockwise

return brng;
}

发自:

好吧,这是一个很长的问题。答案是扩展示例中的OnSensorChanged代码,以计算从当前位置到麦加的航向,并根据传感器面临的当前方向调整航向。您需要GPS的当前位置坐标和麦加的固定坐标,计算相对于北方的方向(指南针的指向方式),然后根据当前航向进行调整

好的,我有一个角度。但是,我是如何从这个角度把麦加图像放在指南针上的。