处理一些浏览器API的地理定位和设备方向。
如果我知道人的方向(认为指南针0 - 360度),是否有可能知道他们是否指向与给定的纬度和经度内联?
不知道这个的数学或逻辑…
根据这个答案,有一个从两对坐标(经纬度)计算角度的公式:
const angleFromCoordinate = (lat1, lon1, lat2, lon2) => {
// Returns angle in degrees based on coordinates
const p1 = {
x: lat1,
y: lon1,
};
const p2 = {
x: lat2,
y: lon2,
};
return (Math.atan2(p2.y - p1.y, p2.x - p1.x) * 180) / Math.PI;
};
您可以使用此函数从当前位置获得目的地的方向(角度),然后将其与罗盘给出的角度进行比较,其精度取决于您使用它的目的。