使用 @capgo/capacitor-compass
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);
全局参考
- GitHub: https://github.com/Cap-go/capacitor-compass/
- 文档:/docs/plugins/compass/
继续使用 @capgo/capacitor-compass
如果您正在使用 使用 @capgo/capacitor-compass 为计划仪表板和API操作,连接它与 @capgo/capacitor-compass Capacitor-compass的实现细节在@capgo/capacitor-compass中 开始使用 Capacitor-compass的实现细节在开始使用中 API概述 Capacitor-compass的实现细节在API概述中 介绍 Capacitor-compass的实现细节在介绍中, API密钥 Capacitor-compass的实现细节在API密钥中。