我正在制作一个指向静态坐标位置(纬度,经度)的交互式指南针。我用以下内容阅读了用户的位置:navigator.geolocation.watchPosition( positionFound , error );
(Javascript)
我将指南针旋转:
heading = Math.atan2( Math.sin(locationLon-userLon) * Math.cos(locationLat), Math.cos(userLat) * Math.sin(locationLat) - Math.sin(userLat) * Math.cos(locationLat) * Math.cos(locationLon-userLon));
heading = heading * 180/Math.PI + 180;
现在问题是每个用户都获得另一个指向位置,但它必须指向相同的位置,因为它们使用相同的坐标。
Click to get a picture of the compass page
现在我发现当页面被加载或刷新时,北方总是停留在移动设备的第一个前(北)位置。而不是真正的北方。
那么有一种方法可以始终保持真正的北方位置(磁北)吗?
这是它的简短演示:https://mister-e.nl/compass (在手机上测试它并转动手机并有时刷新它)
这是我的第一个话题(初学者)。我希望我已经为你们解释清楚了。你也许可以帮我解决这个问题。如果您需要查看更多代码,请告诉我。
问候,尼克