Cordova - 设备方向

指南针用于显示相对于地理北基点的方向。

步骤 1 - 安装设备方向插件

打开命令提示符窗口并运行以下命令。

C:\Users\username\Desktop\CordovaProject>cordova plugin
	add cordova-plugindevice-orientation

步骤 2 - 添加按钮

此插件类似于加速度插件。现在让我们在index.html中创建两个按钮。

<button id = "getOrientation">获取方向</button>
<button id = "watchOrientation">WATCH ORIENTATION</button>

步骤 3 - 添加事件监听器

现在,我们将在 index.js 中的 onDeviceReady 函数内添加 事件监听器

document.getElementById("getOrientation").addEventListener("click", getOrientation);
document.getElementById("watchOrientation").addEventListener("click", watchOrientation);

步骤 4 - 创建函数

我们将创建两个函数;第一个函数将生成当前加速度,另一个函数将检查方向变化。您可以看到我们再次使用频率选项来监视每三秒发生一次的变化。

function getOrientation() {
   navigator.compass.getCurrentHeading(compassSuccess, compassError);

   function compassSuccess(heading) {
      alert('Heading: ' + heading.magneticHeading);
   };

   function compassError(error) {
      alert('CompassError: ' + error.code);
   };
}

function watchOrientation(){
   var compassOptions = {
      frequency: 3000
   }
   var watchID = navigator.compass.watchHeading(compassSuccess, 
      compassError, compassOptions);

   function compassSuccess(heading) {
      alert('Heading: ' + heading.magneticHeading);

      setTimeout(function() {
         navigator.compass.clearWatch(watchID);
      }, 10000);
   };

   function compassError(error) {
      alert('CompassError: ' + error.code);
   };
}

由于指南针插件与加速度插件几乎相同,因此这次我们将向您显示错误代码。某些设备没有指南针工作所需的磁传感器。如果您的设备没有,将显示以下错误。

Cordova 指南针错误