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 ()
安卓: 方位角(绕 z 轴旋转的角度)。此为设备当前指南针方向与磁北向之间的角度。如果设备的上边缘面朝磁北向,则方位角为 0 度;如果上边缘朝南,则方位角为 180 度。与之类似,如果上边缘朝东,则方位角为 90 度;如果上边缘朝西,则方位角为 270 度。
IOS绕 z 轴旋转的角度:每次以当前设备启动方向作为0度(接近359)。