- 文档
- Architectural overview of Cordova platform
- 创建你的第一个App
- Cordova平台支持
- Android平台指南
- Blackberry 10 Guides
- iOS Platform Guide
- OS X 平台指南
- Ubuntu Platform Guide
- Windows Platform Guide
- WP8 Guides
- 平台和插件版本管理
- 自定义app图标(Icon)
- 存储(Storage)
- 隐私指南
- 安全指南
- 白名单指南
- Plugin Development Guide
- Android Plugins
- BlackBerry 10 Plugins
- iOS Plugin Development Guide
- Windows Plugins
- Windows Phone 8 Plugins
- Using Plugman to Manage Plugins
- Embedding WebViews
- Next Steps
- Config.xml
- 事件
- CLI Reference
- Hooks Guide
- Plugin.xml reference documentation
- Battery Status
- Camera
- Console
- Contacts
- Device
- Device Motion
- Device Orientation
- Dialogs
- File
- File Transfer
- Geolocation
- Globalization
- Inappbrowser
- Media
- Media Capture
- Network Information
- Splashscreen
- Vibration
- Statusbar
- Whitelist
- Legacy Whitelist
Device Orientation
This plugin provides access to the device's compass. The compass is a sensor that detects the direction or heading that the device is pointed, typically from the top of the device. It measures the heading in degrees from 0 to 359.99, where 0 is north.
Access is via a global navigator.compass
object.
Although the object is attached to the global scoped navigator
, it is not available until after the deviceready
event.
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
console.log(navigator.compass);
}
Report issues on the Apache Cordova issue tracker
Installation
cordova plugin add cordova-plugin-device-orientation
Supported Platforms
- Amazon Fire OS
- Android
- BlackBerry 10
- Browser
- Firefox OS
- iOS
- Tizen
- Windows Phone 7 and 8 (if available in hardware)
- Windows 8
Methods
- navigator.compass.getCurrentHeading
- navigator.compass.watchHeading
- navigator.compass.clearWatch
navigator.compass.getCurrentHeading
Get the current compass heading. The compass heading is returned via a CompassHeading
object using the compassSuccess
callback function.
navigator.compass.getCurrentHeading(compassSuccess, compassError);
Example
function onSuccess(heading) {
alert('Heading: ' + heading.magneticHeading);
};
function onError(error) {
alert('CompassError: ' + error.code);
};
navigator.compass.getCurrentHeading(onSuccess, onError);
navigator.compass.watchHeading
Gets the device's current heading at a regular interval. Each time the heading is retrieved, the headingSuccess
callback function is executed.
The returned watch ID references the compass watch interval. The watch ID can be used with navigator.compass.clearWatch
to stop watching the navigator.compass.
var watchID = navigator.compass.watchHeading(compassSuccess, compassError, [compassOptions]);
compassOptions
may contain the following keys:
- frequency: How often to retrieve the compass heading in milliseconds. (Number) (Default: 100)
- filter: The change in degrees required to initiate a watchHeading success callback. When this value is set, frequency is ignored. (Number)
Example
function onSuccess(heading) {
var element = document.getElementById('heading');
element.innerHTML = 'Heading: ' + heading.magneticHeading;
};
function onError(compassError) {
alert('Compass error: ' + compassError.code);
};
var options = {
frequency: 3000
}; // Update every 3 seconds
var watchID = navigator.compass.watchHeading(onSuccess, onError, options);
Browser Quirks
Values for current heading are randomly generated in order to simulate the compass.
iOS Quirks
Only one watchHeading
can be in effect at one time in iOS. If a watchHeading
uses a filter, calling getCurrentHeading
or watchHeading
uses the existing filter value to specify heading changes. Watching heading changes with a filter is more efficient than with time intervals.
Amazon Fire OS Quirks
filter
is not supported.
Android Quirks
- No support for
filter
.
Firefox OS Quirks
- No support for
filter
.
Tizen Quirks
- No support for
filter
.
Windows Phone 7 and 8 Quirks
- No support for
filter
.
navigator.compass.clearWatch
Stop watching the compass referenced by the watch ID parameter.
navigator.compass.clearWatch(watchID);
- watchID: The ID returned by
navigator.compass.watchHeading
.
Example
var watchID = navigator.compass.watchHeading(onSuccess, onError, options);
// ... later on ...
navigator.compass.clearWatch(watchID);
CompassHeading
A CompassHeading
object is returned to the compassSuccess
callback function.
Properties
magneticHeading: The heading in degrees from 0-359.99 at a single moment in time. (Number)
trueHeading: The heading relative to the geographic North Pole in degrees 0-359.99 at a single moment in time. A negative value indicates that the true heading can't be determined. (Number)
headingAccuracy: The deviation in degrees between the reported heading and the true heading. (Number)
timestamp: The time at which this heading was determined. (DOMTimeStamp)
Amazon Fire OS Quirks
trueHeading
is not supported, but reports the same value asmagneticHeading
headingAccuracy
is always 0 because there is no difference between themagneticHeading
andtrueHeading
Android Quirks
The
trueHeading
property is not supported, but reports the same value asmagneticHeading
.The
headingAccuracy
property is always 0 because there is no difference between themagneticHeading
andtrueHeading
.
Firefox OS Quirks
The
trueHeading
property is not supported, but reports the same value asmagneticHeading
.The
headingAccuracy
property is always 0 because there is no difference between themagneticHeading
andtrueHeading
.
iOS Quirks
- The
trueHeading
property is only returned for location services enabled vianavigator.geolocation.watchLocation()
.
CompassError
A CompassError
object is returned to the compassError
callback function when an error occurs.
Properties
- code: One of the predefined error codes listed below.
Constants
CompassError.COMPASS_INTERNAL_ERR
CompassError.COMPASS_NOT_SUPPORTED
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论