メインコンテンツへスキップ

スタートガイド

GitHub

AIアシストによるセットアップでプラグインをインストールできます。以下のコマンドを使用して、お使いのAIツールに Capgo のスキルを追加してください:

ターミナル
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins

次に、以下のプロンプトを使用します:

Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-compass` plugin in my project.

手動セットアップを希望する場合は、以下のコマンドを実行してプラグインをインストールし、下記のプラットフォーム別の手順に従ってください:

ターミナル
npm install @capgo/capacitor-compass
npx cap sync
import { CapgoCompass } from '@capgo/capacitor-compass';
import { CapgoCompass } from '@capgo/capacitor-compass';
const { value } = await CapgoCompass.getCurrentHeading();
console.log('Compass heading:', value, 'degrees');
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);
});
import { CapgoCompass } from '@capgo/capacitor-compass';
await CapgoCompass.stopListening();
  • 権限:呼び出し checkPermissions() その後 requestPermissions() 必要に応じて。
  • リスナー: 画面がアンマウントされたらハンドルを削除します。
  • 信頼できる情報源: 信頼 src/definitions.ts GitHub リポジトリ内。

現在のコンパスの方位を度数で取得します。 iOSでは、方位はバックグラウンドで更新され、最新の値が返されます。 Androidでは、メソッド呼び出し時に加速度計と磁力計センサーを使用して方位を計算します。 Webでは実装されていません。

import { CapgoCompass } from '@capgo/capacitor-compass';
const { value } = await CapgoCompass.getCurrentHeading();
console.log('Compass heading:', value, 'degrees');

イベント経由でコンパスの方位の変化の監視を開始します。 これによりコンパスセンサーが起動し、「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);
});

コンパスの方位変化の監視を停止します。 コンパスセンサーを停止し、イベントの発行も止めます。

import { CapgoCompass } from '@capgo/capacitor-compass';
await CapgoCompass.stopListening();

コンパスデータへのアクセス権限の現在のステータスを確認します。 iOS では位置情報権限のステータスを確認します。 Android では権限が不要なため、常に「granted」を返します。

import { CapgoCompass } from '@capgo/capacitor-compass';
const status = await CapgoCompass.checkPermissions();
console.log('Compass permission:', status.compass);

コンパスデータへのアクセス権限をリクエストします。 iOS では位置情報権限をリクエストします(方位データに必要です)。 Android では権限が不要なため、即座に resolve されます。

import { CapgoCompass } from '@capgo/capacitor-compass';
const status = await CapgoCompass.requestPermissions();
if (status.compass === 'granted') {
// Can now use compass
}

コンパスの精度モニタリングを開始します。 Android では磁力計の精度を監視し、accuracyChange イベントを発行します。 開発者はこれらのイベントをリッスンして、キャリブレーションのプロンプト用に独自の UI を実装できます。 iOS および Web ではコンパス精度のモニタリングを利用できないため、このメソッドは何もしません。

import { CapgoCompass, CompassAccuracy } from '@capgo/capacitor-compass';
// Start monitoring accuracy
await CapgoCompass.watchAccuracy();
// Listen for accuracy changes and implement custom UI
CapgoCompass.addListener('accuracyChange', (event) => {
console.log('Accuracy changed to:', event.accuracy);
if (event.accuracy < CompassAccuracy.MEDIUM) {
// Show your custom calibration UI
}
});

コンパスの精度モニタリングを停止します。 これにより精度モニタリングが停止します。

import { CapgoCompass } from '@capgo/capacitor-compass';
await CapgoCompass.unwatchAccuracy();

現在のコンパスの精度レベルを取得します。 Androidでは、現在の磁力計センサーの精度を返します。 iOSおよびWebでは、精度モニタリングが利用できないため、常に CompassAccuracy.UNKNOWN を返します。

import { CapgoCompass, CompassAccuracy } from '@capgo/capacitor-compass';
const { accuracy } = await CapgoCompass.getAccuracy();
if (accuracy < CompassAccuracy.MEDIUM) {
console.log('Compass needs calibration');
}

コンパスのヘディング値を含む結果。

export interface CompassHeading {
/** Compass heading in degrees (0-360) */
value: number;
}

compassのリスニング動作を設定するためのオプション。

export interface ListeningOptions {
/**
* Minimum interval between heading change events in milliseconds.
* Lower values = more frequent updates but higher CPU/battery usage.
*
* @default 100
* @since 8.1.4
*/
minInterval?: number;
/**
* Minimum heading change in degrees required to trigger an event.
* Lower values = more sensitive but more events.
* Handles wraparound (e.g., 359° to 1° = 2° change).
*
* @default 2.0
* @since 8.1.4
*/
minHeadingChange?: number;
}

方位変化イベントのデータ。

export interface HeadingChangeEvent {
/** Compass heading in degrees (0-360) */
value: number;
}

精度変化イベントのデータ。

export interface AccuracyChangeEvent {
/** Current accuracy level of the compass */
accuracy: CompassAccuracy;
}

compassプラグインの権限ステータス。

export interface PermissionStatus {
/**
* Permission state for accessing compass/location data.
* On iOS, this requires location permission to access heading.
* On Android, no special permissions are required for compass sensors.
*
* @since 7.0.0
*/
compass: PermissionState;
}

Compassの精度レベル定数。

export enum CompassAccuracy {
/** High accuracy - approximates to less than 5 degrees of error */
HIGH = 3,
/** Medium accuracy - approximates to less than 10 degrees of error */
MEDIUM = 2,
/** Low accuracy - approximates to less than 15 degrees of error */
LOW = 1,
/** Unreliable accuracy - approximates to more than 15 degrees of error */
UNRELIABLE = 0,
/** Unknown accuracy value */
UNKNOWN = -1,
}

Compassアクセスの権限状態。

export type PermissionState = 'prompt' | 'prompt-with-rationale' | 'granted' | 'denied';

このページはプラグインの src/definitions.tsから生成されています。upstream で公開 API が変更されたら、再度 sync を実行してください。

Getting Startedの続きを進める

「Getting Started からの続き」セクション

使用している場合 スタートガイド ダッシュボードと API の運用を計画するには、これを次と連携させます @capgo/capacitor-compass を使用 @capgo/capacitor-compass を使う場合のネイティブ機能については、 API の概要 「API の概要」の実装の詳細については、 はじめに 「はじめに」における実装の詳細については、 API キー および「API Keys」の実装の詳細については、 デバイス 実装の詳細については Devices を参照してください。