Skip to main content
版本:v3

Compass

API_LEVEL 3.0 开始支持,API 兼容性请参考 API_LEVEL

指南针。

信息

权限代码: device:os.compass

方法

start

开始监听指南针数据

start(): void

stop

停止监听指南针数据

stop(): void

getStatus

获取指南针校准状态,true 代表已校准

getStatus(): boolean

getDirection

获取当前手表 12 点刻度的方向指向,一共分为八个方向,参考 direction

getDirection(): string

direction

类型说明API_LEVEL
Nstring3.0
NEstring东北3.0
Estring3.0
SEstring东南3.0
Sstring3.0
SWstring西南3.0
Wstring西3.0
NWstring西北3.0

getDirectionAngle

获取当前方向角,手表 12 点刻度方向相对正北方向的顺时针旋转角度,取值 0 - 360,如果指南针未校准,返回 INVALID 字符串

getDirectionAngle(): number | 'INVALID'

onChange

注册指南针方向变化事件监听回调函数

onChange(callback: () => void): void

offChange

取消指南针方向变化事件监听回调函数

offChange(callback: () => void): void

代码示例

import { Compass } from '@zos/sensor'

const compass = new Compass()

const callback = () => {
if (compass.getStatus()) {
console.log(compass.getDirection())
console.log(compass.getDirectionAngle())
}
}
compass.onChange(callback)
compass.start()

// When not needed for use
compass.offChange()
compass.stop()