【问题标题】:Is there a way to change (or set) the True North in Expo-Location?有没有办法改变(或设置)Expo-Location 的正北?
【发布时间】:2020-01-02 23:13:47
【问题描述】:
我正在做一个 expo react-native 项目,我正在尝试设置一个指向不同固定位置的指南针(而不是真正的北方)。关于如何实现这一点的任何提示?
有没有办法将“真北”更改为自定义(给出纬度和经度)?或者我可以使用纬度和经度设置自定义位置,然后我可以让我的指南针指向不断更新的纬度和经度(例如 Location.watchPositionAsync 使用的)?
对此的任何帮助将不胜感激!我注意到没有其他人问过这个问题,所以我希望该解决方案也可以帮助其他人。
【问题讨论】:
标签:
javascript
react-native
location
expo
【解决方案1】:
您需要获取您的位置
然后计算到所需纬度的角度,然后指向角度
这里有一个计算两点夹角的公式
function angleFromCoordinate(lat1,lon1,lat2,lon2) {
var p1 = {
x: lat1,
y: lon1
};
var p2 = {
x: lat2,
y: lon2
};
// angle in radians
var angleRadians = Math.atan2(p2.y - p1.y, p2.x - p1.x);
// angle in degrees
var angleDeg = Math.atan2(p2.y - p1.y, p2.x - p1.x) * 180 / Math.PI;
console.log(angleDeg);
return angleDeg;
}