# [orientation]()
Orientation模塊管理設備的方向信息,包括alpha、beta、gamma三個方向信息,通過plus.orientation可獲取設備方向管理對象。
### 方法:
- [getCurrentOrientation](http://www.dcloud.io/docs/api/zh_cn/orientation.shtml#plus.orientation.getCurrentOrientation): 獲取當前設備的方向信息,包括alpha、beta、gamma三個方向信息
- [watchOrientation](http://www.dcloud.io/docs/api/zh_cn/orientation.shtml#plus.orientation.watchOrientation): 監聽設備方向信息的變化
- [clearWatch](http://www.dcloud.io/docs/api/zh_cn/orientation.shtml#plus.orientation.clearWatch): 關閉監聽設備方向信息
### 對象:
- [OrientationOption](http://www.dcloud.io/docs/api/zh_cn/orientation.shtml#plus.orientation.OrientationOption): JSON對象,監聽設備方向感應器參數
- [Rotation](http://www.dcloud.io/docs/api/zh_cn/orientation.shtml#plus.orientation.Rotation): JSON對象,設備方向信息數據
### 回調方法:
- [OrientationSuccessCallback](http://www.dcloud.io/docs/api/zh_cn/orientation.shtml#plus.orientation.OrientationSuccessCallback): 獲取設備方向信息成功的回調函數
- [OrientationErrorCallback](http://www.dcloud.io/docs/api/zh_cn/orientation.shtml#plus.orientation.OrientationErrorCallback): 獲取設備方向信息失敗的回調函數
### 權限:
permissions
~~~
"Orientation": {
"description": "訪問方向感應器信息"
}
~~~
# [getCurrentOrientation]()
獲取當前設備的方向信息,包括alpha、beta、gamma三個方向信息
~~~
void plus.orientation.getCurrentOrientation( successCB, errorCB );
~~~
### 說明:
方向信息是設備相對于水平初始方向分別以z、x、y軸為軸心旋轉的角度,對應值為alpha、beta、gamma三個方向的信息。 方向信息可通過successCB回調函數返回。方向信息獲取失敗則調用回調函數errorCB
### 參數:
- successCB: *( [OrientationSuccessCallback](http://www.dcloud.io/docs/api/zh_cn/orientation.shtml#plus.orientation.OrientationSuccessCallback) ) 必選 *獲取設備方向信息成功回調函數
- errorCB: *( [OrientationErrorCallback](http://www.dcloud.io/docs/api/zh_cn/orientation.shtml#plus.orientation.OrientationErrorCallback) ) 可選 *獲取設備方向信息失敗回調函數
### 返回值:
void : 無
### 平臺支持:
- Android - 2.2+ (支持): 支持
- iOS - 4.3+ (支持): 支持
### 示例:
~~~
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Orientation Example</title>
<script type="text/javascript">
// 擴展API加載完畢后調用onPlusReady回調函數
document.addEventListener( "plusready", onPlusReady, false );
// 擴展API加載完畢,現在可以正常調用擴展API
function onPlusReady() {
plus.orientation.getCurrentOrientation( function ( o ) {
alert( "Orientation\nAlpha:" + o.alpha + "\nBeta:" + o.beta + "\nGamma:" + o.gamma );
} );
}
</script>
</head>
<body>
Orientation
</body>
</html>
~~~
# [watchOrientation]()
監聽設備方向信息的變化
~~~
Number plus.orientation.watchOrientation( successCB, errorCB, option );
~~~
### 說明:
方向信息是設備相對于水平初始方向分別以z、x、y軸為軸心旋轉的角度,對應值為alpha、beta、gamma三個方向的信息。watchOrientation每隔固定時間就獲取一次設備的方向信息,通過successCB回調函數返回。可通過option的frequency參數設定獲取設備方向信息的時間間隔。方向信息獲取失敗則調用回調函數errorCB。
### 參數:
- successCB: *( [OrientationSuccessCallback](http://www.dcloud.io/docs/api/zh_cn/orientation.shtml#plus.orientation.OrientationSuccessCallback) ) 必選 *
獲取設備方向信息成功回調函數
- errorCB: *( [OrientationErrorCallback](http://www.dcloud.io/docs/api/zh_cn/orientation.shtml#plus.orientation.OrientationErrorCallback) ) 可選 *
獲取設備方向信息失敗回調函數
- option: *( [OrientationOption](http://www.dcloud.io/docs/api/zh_cn/orientation.shtml#plus.orientation.OrientationOption) ) 可選 *
監聽設備方向信息的參數,如更新數據的頻率等
### 返回值:
Number : 用于標識方向信息監聽器,可通過clearWatch方法取消監聽。
### 平臺支持:
- Android - 2.2+ (支持): 支持
- iOS - 4.3+ (支持): 支持
### 示例:
~~~
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Orientation Example</title>
<script type="text/javascript">
// 擴展API加載完畢后調用onPlusReady回調函數
document.addEventListener( "plusready", onPlusReady, false );
// 擴展API加載完畢,現在可以正常調用擴展API
function onPlusReady() {
plus.orientation.watchOrientation( function ( o ) {
alert( "Orientation\nAlpha:" + o.alpha + "\nBeta:" + o.beta + "\nGamma:" + o.gamma );
}, function ( e ) {
alert( "Orientation error: " + e.message );
} );
}
</script>
</head>
<body>
Orientation watch
</body>
</html>
~~~
# [clearWatch]()
關閉監聽設備方向信息
~~~
void plus.orientation.clearWatch( watchId );
~~~
### 參數:
- watchId: *( Number ) 必選 *
需要取消的方向監聽器標識,調用watchOrientation方法的返回值。
### 返回值:
void : 無
### 平臺支持:
- Android - 2.2+ (支持): 支持
- iOS - 4.3+ (支持): 支持
# [OrientationOption]()
JSON對象,監聽設備方向感應器參數
### 屬性:
- frequency: *(Number 類型)*更新方向信息的時間間隔
數值類型,單位為ms,默認值為500ms。
# [Rotation]()
JSON對象,設備方向信息數據
~~~
interface Rotation {
readonly attribute float alpha;
readonly attribute float beta;
readonly attribute float gamma;
readonly attribute float magneticHeading;
readonly attribute float trueHeading;
readonly attribute float headingAccuracy;
}
~~~
### 屬性:
- alpha: *(float 類型)*以z方向為軸心的旋轉角度
浮點數類型,只讀屬性,取值范圍為0到360(不等于360)。
- beta: *(float 類型)*以x方向為軸心的旋轉角度
浮點數類型,只讀屬性,取值范圍為-180到180(不等于180)。
- gamma: *(float 類型)*以y方向為軸心的旋轉角度
浮點數類型,只讀屬性,取值范圍為-180到180(不等于180)。
- magneticHeading: *(float 類型)*設備方向與地球磁場北極方向的角度
浮點數類型,只讀屬性,取值范圍為0到360(不等于360)。
### 平臺支持
- Android - 2.2+ (支持)
- iOS - 4.3+ (支持): iTouch、iPad設備不支持
- trueHeading: *(float 類型)*設備方向與地球真實北極方向的角度
浮點數類型,只讀屬性,取值范圍為0到360(不等于360)。
### 平臺支持
- Android - 2.2+ (支持)
- iOS - 4.3+ (支持): iTouch、iPad設備不支持
- headingAccuracy: *(float 類型)*設備方向值的誤差值
浮點數類型,只讀屬性,取值范圍為0到360(不等于360)。
### 平臺支持
- Android - 2.2+ (支持)
- iOS - 4.3+ (支持): iTouch、iPad設備不支持
# [OrientationSuccessCallback]()
獲取設備方向信息成功的回調函數
~~~
void onSuccess( rotation ){
// Get orientation success code.
}
~~~
### 參數:
- rotation: *( DOMString ) 必選 *設備的方向信息Rotation
### 返回值:
void : 無
# [OrientationErrorCallback]()
獲取設備方向信息失敗的回調函數
~~~
void onError( error ) {
// Get orientation error code.
}
~~~
### 參數:
- error: *( DOMException ) 必選 *失敗信息
### 返回值:
void : 無
- API參考
- Accelerometer
- Audio
- Camera
- Contacts
- Device
- Downloader
- Events
- Gallery
- Geolocation
- IO
- Key
- Messaging
- NativeUI
- Navigator
- Orientation
- Proximity
- SplashScreen
- Storage
- UI
- Uploader
- InterfaceOrientation
- Runtime
- WebView
- XMLHttpRequest
- Zip
- Plugins
- Barcode
- Maps
- Payment
- Push
- Share
- Speech
- Statistic
- Native.js
- Android
- iOS