收藏
回答

onDeviceMotionChange方法第一次拿到的alpha值都是359.9997971985

框架类型 问题类型 终端类型 微信版本 基础库版本
小程序 Bug 微信iOS客户端 8.0.7 2.17.3

openDeviceMotionListening = () => {

    return new Promise(resolve => {

      const getAlpha = ({ alpha }) => {

        this.closeDeviceMotionListening()

        resolve(alpha)

      }


      Taro.startDeviceMotionListening()

      Taro.onDeviceMotionChange(getAlpha)

    })

  }


  /**

   * @description: 关闭获取用户手机设备方向

   * @return {*}

   */

  closeDeviceMotionListening = () => {

    // Taro.offDeviceMotionChange(); // TODO: 此方法报错

    Taro.stopDeviceMotionListening()

  }

const alpha = await openDeviceMotionListening ()

回答关注问题邀请回答
收藏

1 个回答

  • haue
    haue
    2023-10-05

    安卓: 方位角(绕 z 轴旋转的角度)。此为设备当前指南针方向与磁北向之间的角度。如果设备的上边缘面朝磁北向,则方位角为 0 度;如果上边缘朝南,则方位角为 180 度。与之类似,如果上边缘朝东,则方位角为 90 度;如果上边缘朝西,则方位角为 270 度。

    IOS绕 z 轴旋转的角度:每次以当前设备启动方向作为0度(接近359)。

    2023-10-05
    有用
    回复
登录 后发表内容