【发布时间】:2019-08-06 13:42:10
【问题描述】:
我正在 Android 平台上使用 Cordova 开发一个混合应用程序。我想在我的设备方向和真北之间获取指南针方向。
然而,'deviceorientationabsolute' 事件(如本文所述 https://developers.google.com/web/updates/2016/03/device-orientation-changes 所述)目前为我提供了相对于我的设备初始方向的罗盘值。我期待一个参考真北的绝对值。
使用 chrome 控制台,我调试了我的设备并检查了 'deviceorientationabsolute' 事件是否可用
('ondeviceorientationabsolute' in window)
true
我还询问了 webview 使用的是什么版本的导航器:
navigator.userAgent
"Mozilla/5.0 (Linux; Android 8.1.0; Android SDK built for x86 Build/OSM1.180201.031; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/69.0.3497.100 Mobile Safari/537.36"
这里是 Cordova 版本(在项目文件夹中)
cordova --version
9.0.0 (cordova-lib@9.0.1)
这是我用来获取指南针方向的代码
window.addEventListener("deviceorientationabsolute", getorientation, true);
function getorientation(event) {
compassbearing = Number(360 - event.alpha).toFixed(1);
$("#InputCompassbearing").val(compassbearing);
}
【问题讨论】:
标签: android cordova android-webview