メインコンテンツにジャンプ
プラグインに戻る
@capgo/capacitor-compass
チュートリアル
@capgo/capacitor-compass

コンパス

デバイスのコンパス向きを度単位で読み取り、連続的な更新とパーミッションの管理

ガイド

コンパスに関するチュートリアル

デバイスでテスト

Download the Capgo app, then scan the QR code.

Compass プラグインのプレビュー QR 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);

フルリファレンス

Keep going from Using @capgo/capacitor-compass

Capacitor Compassを使用している場合 Using @capgo/capacitor-compass 計画ダッシュボードとAPIの運用を実施するには、 @capgo/capacitor-compass Capacitor Compassの実装詳細については@capgo/capacitor-compass Getting Started Capacitor Compassの実装詳細についてはGetting Started APIの概要 Capacitor Compassの実装詳細についてはAPIの概要 導入 Capacitor Compassの実装詳細については導入、 APIのキー Capacitor Compassの実装詳細についてはAPIのキー