tt.onCompassChange
收藏
我的收藏

基础库 1.2.0 开始支持本方法,这是一个同步方法。

监听罗盘数据变化。罗盘数据会在用户手机发生“朝向变化/加速前进&后退/摇一摇”等手势时触发变化。

前提条件
业务背景
使用限制
注意事项
  • 如果在调用该方法之前没有调用 tt.startCompass,该方法会默认调用一次tt.startCompass方法;
  • 该方法默认的调用频率是 5 次/秒
支持沙盒
相关教程

语法

tt.onCompassChange(callback)

参数说明

callback

类型默认值必填说明最低支持版本
function

罗盘数据变化的回调函数

1.2.0

callback 是一个回调函数,接收 object 类型的参数,属性如下:

属性名类型说明最低支持版本
directionnumber

面对的方向度数(从朝南方向开始,顺时针转的角度)

1.2.0

返回值

扫码体验

请使用字节宿主APP扫码

代码示例

开发者工具中预览

<button type="default" size="default" bindtap="tapStartCompass">
  开始监听罗盘
</button>
<button type="default" size="default" bindtap="tapCompassChange">
  查看罗盘数据变化
</button>
<button type="default" size="default" bindtap="tapStopCompass">
  停止监听罗盘
</button>
Page({
  tapCompassChange() {
    tt.onCompassChange((res) => {
      console.log(res);
      console.log(`罗盘方向: ${res.direction}`);
    });
  },
  tapStartCompass() {
    tt.startCompass({
      success(res) {
        //调用开始监听罗盘成功 startCompass:ok
        console.log("调用开始监听罗盘成功", res.errMsg);
      },
      fail(res) {
        // 调用开始监听罗盘失败 startCompass:fail
        console.log("调用开始监听罗盘失败", res.errMsg);
      },
    });
  },
  tapStopCompass() {
    tt.stopCompass({
      success(res) {
        //调用停止监听罗盘成功 stopCompass:ok
        console.log("调用停止监听罗盘成功", res.errMsg);
      },
      fail(res) {
        // 调用停止监听罗盘失败 stopCompass:fail
        console.log("调用停止监听罗盘失败", res.errMsg);
      },
    });
  },
});