跳过主要内容
返回插件
@capgo/capacitor-compass
教程
@capgo/capacitor-compass

compass

读取设备罗盘方向角(以度为单位)并实时更新,包括权限处理

指南

罗盘使用教程

使用 @capgo/capacitor-罗盘

Capacitor 罗盘插件接口,用于读取设备罗盘方向角

安装

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 了解Getting Started的实现细节在 API概述 对于在API概述中的实现细节 简介 对于在简介中的实现细节,并 API密钥 对于在API密钥中的实现细节