跳过主要内容

指南

Compass教程

在设备上测试

Download the Capgo app, then scan the QR code.

Compass插件预览二维码code

使用@capgo/capacitor-compass

Capacitor Compass插件用于读取设备指南针方向。

安装

bun add @capgo/capacitor-compass
bunx cap sync

此插件暴露的内容

  • getCurrentHeading - 获取当前指南针方向(以度为单位)。在iOS上,方向会在后台更新,返回最新值。在Android上,方法调用时使用加速计和磁力计传感器计算方向。Web端未实现。
  • startListening - 开始监听指南针方向变化的事件。这会启动指南针传感器并发送'headingChange'事件。
  • stopListening - 停止监听指南针方向变化的事件。这会停止指南针传感器并停止发送事件。
  • checkPermissions - 检查访问指南针数据的当前权限状态。在iOS上,检查位置权限状态。在Android上,始终返回'granted',因为不需要权限。

示例使用

getCurrentHeading

获取当前指南针方向(以度为单位)。在iOS上,方向会在后台更新,返回最新值。在Android上,方法调用时使用加速计和磁力计传感器计算方向。Web端未实现。

import { CapgoCompass } from '@capgo/capacitor-compass';

const { value } = await CapgoCompass.getCurrentHeading();
console.log('Compass heading:', value, 'degrees');

startListening

通过事件开始监听罗盘方向变化。这将启动罗盘传感器并发送'headingChange'事件。

import { CapgoCompass } from '@capgo/capacitor-compass';

// With default throttling (100ms interval, 2° minimum change)
await CapgoCompass.startListening();

// With custom throttling for high-frequency updates
await CapgoCompass.startListening({
  minInterval: 50,      // 50ms between events
  minHeadingChange: 1.0 // 1° minimum change
});

CapgoCompass.addListener('headingChange', (event) => {
  console.log('Heading:', event.value);
});

stopListening

停止监听罗盘方向变化。这将停止罗盘传感器并停止发送事件。

import { CapgoCompass } from '@capgo/capacitor-compass';

await CapgoCompass.stopListening();

checkPermissions

检查当前访问罗盘数据的权限状态。 在 iOS 上,这将检查位置权限状态。 在 Android 上,这始终返回 'granted',因为没有权限要求。

import { CapgoCompass } from '@capgo/capacitor-compass';

const status = await CapgoCompass.checkPermissions();
console.log('Compass permission:', status.compass);

全局参考

继续使用 @capgo/capacitor-compass

如果您正在使用 使用 @capgo/capacitor-compass 来规划仪表板和API操作,连接它与 @capgo/capacitor-compass 为 @capgo/capacitor-compass 的实现细节 开始使用 为 Getting Started 的实现细节 API 介绍 为 API 介绍的实现细节 __CAPGO_KEEP_0__ 介绍 为 __CAPGO_KEEP_0__ Keys 的实现细节 API Keys 使用 API 为您的应用提供动力