文档中心 > JSSDK文档

方向检测

更新时间:2017/08/07 访问次数:3245
监听手机方向

在手机淘宝中:这里的监听陀螺仪, 实际是为了监听手机方向的改变 ,使得 H5 页面可以根据手机方向做出不同反应。在手机中,有两个传感器可以实现这一目的:陀螺仪和重力感应器。陀螺仪可以得到手机空间位置的欧拉角:roll、pitch 和 yaw,重力感应器则可以得到重力在手机三个方向上的分量。 但是,由于在 iOS 和 Android 平台下得到的陀螺仪数据暂时难以统一,而重力感应器的数据更加容易统一,因此 目前采用重力感应器的数据作为返回值 ,H5 页面可以通过相关算法计算得到手机方向。

监听手机方向

var watchId = Tida.orientation.watch({
    duration : 50 // 陀螺仪事件的时间间隔(毫秒),会保证两次陀螺仪事件触发的时间间隔大于指定时间。
}, function(result) {
    if (result.errorCode) {
        Tida.toast(result.errorCode + ' , ' + result.errorMessage);
        return;
    }
    //if(navigator.userAgent.indexOf("AliApp(TB")>-1){
    //[number] result.x - 手机 x 方向上的重力分量值,范围是 [-1, 1]。
    //[number] result.y - 手机 y 方向上的重力分量值,范围是 [-1, 1]。
    //[number] result.z - 手机 z 方向上的重力分量值,范围是 [-1, 1]。
    if(result.x ||result.y||result.z){
        // 这里就没有alpha beta gamma
    }
    // 当然 这里需要有个deviceOrientationHandler的函数了 这里的值与web给的值是一致的
    deviceOrientationHandler(result.gamma, result.beta, result.alpha);
});

取消监听

Tida.orientation.clearWatch(watchId);

FAQ

关于此文档暂时还没有FAQ
返回
顶部