设备方向插件

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

方法

获取当前设备方向

navigator.compass.getCurrentHeading(compassSuccess, compassError);

compassSuccess:执行成功时触发的回调方法

compassError:执行遇到错误时触发的回调方法

例子:

//获取当前设备方向
function getOrientation(){
   navigator.compass.getCurrentHeading(compassSuccess, compassError);

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

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


监听当前设备方向变化

var watchID =navigator.compass.watchHeading(compassSuccess, compassError, compassOptions);

compassSuccess:执行成功时触发的回调方法

compassError:执行遇到错误时触发的回调方法

compassoption:{frequency: times} times为间隔时间(毫秒数 number)

该方法返回一个watchID标识

移除设备方向变更的监听

navigator.compass.clearWatch(watchID);

例子:

//查看方向更改。正在使用频率选项是要每隔三秒观察一次更改。
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);
   };
	
}

由于指南针插件几乎与加速插件相同,我们将在此时显示错误代码。 某些设备没有磁罗盘工作所需的磁性传感器。 如果您的设备没有它,您会得到 CompassError:  + error.code错误。