Device Orientation

访问设备的方向传感器(指南针)。该传感器可以检测到该设备的方向(通常指设备的顶部)。它获取度数0-359.99,0度是北。

方法(Methods)

getCurrentHeading()

获取方向传感器数据
返回 对象 - magneticHeading, trueHeading, headingAccuracy, timestamp.

watchHeading(options)

参数 类型 说明
options Object 配置对象
Options 类型 说明
frequency Number 间隔毫秒
filter Number 设置过滤器 如果设置这个参数则自动忽略frequency

返回 对象 - magneticHeading, trueHeading, headingAccuracy, timestamp.

clearWatch(watchID)

清除watchHeading()返回的定时器id

参数 类型 说明
watchID Number watchHeading()返回的id

代码实例

module.controller('ThisCtrl', function($cordovaDeviceOrientation) {

document.addEventListener("deviceready", function () {

$cordovaDeviceOrientation.getCurrentHeading().then(function(result) {
var magneticHeading = result.magneticHeading;
var trueHeading = result.trueHeading;
var accuracy = result.headingAccuracy;
var timeStamp = result.timestamp;
}, function(err) {
// 发生错误
});



var options = {
frequency: 3000,
filter: true // 如果设置频率,则忽略滤波器
}

var watch = $cordovaDeviceOrientation.watchHeading(options).then(
null,
function(error) {
// 发生错误
},
function(result) { // 根据时钟间隔更新数据
var magneticHeading = result.magneticHeading;
var trueHeading = result.trueHeading;
var accuracy = result.headingAccuracy;
var timeStamp = result.timestamp;
});


watch.clearWatch();
// 或者
$cordovaDeviceOrientation.clearWatch(watch)
.then(function(result) {
// 成功!
}, function(err) {
// 发生错误
});

}, false);
});