メインコンテンツにスキップ
@capgo/capacitor-コンパス Location オープンソース

Compass Capacitor プラグイン

デバイスのコンパスヘッドを読み取り、度単位で連続して更新し、パーミッションを管理する

インストール

bun add @capgo/capacitor-compass bunx cap sync
npm、pnpm、またはyarn
  • npm install @capgo/capacitor-compass
  • pnpm add @capgo/capacitor-compass
  • yarn add @capgo/capacitor-compass

ガイド

Capacitorを使用する方法

デバイスでテスト

Download the Capgo app, then scan the QR code.

コンパス プラグイン プレビュー QR code

@capgo/capacitor-compassを使用

Capacitorコンパス プラグインは、デバイスのコンパス向きを読み取るためのインターフェイスです。

インストール

bun add @capgo/capacitor-compass
bunx cap sync

bunx cap sync Capacitor Compassプラグインのcodeを、nativeプロジェクトにコピーします。プラグインのアップグレード後は、再度実行してください。

インポート

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

APIの概要

メソッド 説明
getCurrentHeading 現在のコンパスヘッディングを取得します。iOSでは、ヘッディングはバックグラウンドで更新され、最新の値が返されます。Androidでは、ヘッディングは、加速度計と磁気センサを使用して計算されます。Webでは実装されていません。
startListening コンパスヘッディングの変更をイベント経由で受信開始します。このメソッドで、コンパスセンサを開始し、'headingChange'イベントを発行します。
stopListening コンパスヘッディングの変更をイベント経由で受信停止します。このメソッドで、コンパスセンサを停止し、イベントの発行を停止します。
checkPermissions コンパスデータへのアクセス許可の現在の状態を確認します。iOSでは、位置許可の状態を確認します。Androidでは、このメソッドは常に'granted'を返します。
requestPermissions コンパスデータへのアクセス許可を要求します。iOSでは、ヘッディングデータへの位置許可を要求します。Androidでは、このメソッドはすぐに解決されます。
watchAccuracy コンパス精度を監視開始します。Androidでは、磁気センサの精度を監視し、精度変更イベントを発行します。開発者は、これらのイベントをリスンし、カリブレーションプロンプトのUIを実装できます。iOSとWebでは、このメソッドは何も実行しません。
unwatchAccuracy コンパス精度を監視停止します。このメソッドで、精度監視を停止します。
getAccuracy 現在のコンパス精度を取得します。Androidでは、現在の磁気センサ精度を返します。iOSとWebでは、精度のモニタリングが利用できないため、常にCompassAccuracy.UNKNOWNを返します。

例

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);

requestPermissions()

コンパスデータへのアクセス許可を要求します。iOSでは、向きデータのために位置許可を要求します。Androidでは、すぐに許可が必要ないため、すぐに解決されます。

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

const status = await CapgoCompass.requestPermissions();
if (status.compass === 'granted') {
  // Can now use compass
}

watchAccuracy()

コンパス精度を監視します。Androidでは、磁気センサの精度を監視し、精度の変更イベントを発行します。開発者は、これらのイベントをリスンし、カリブレーションプロンプトの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
  }
});

Capacitor Compassの8つの基本メソッドがリストされています。リスナーとバージョンヘルパー、各メソッドの完全な契約は、上の表に記載されています。 GitHub リポジトリ.

イベントをリスンする

addListener ハンドルを返します。画面がアンマウントされたとき、または handle.remove() すべてのリスナーをクリアする CapgoCompass.removeAllListeners() フルリファレンス

ドキュメント

@capgo/capacitor-compassを継続して使用してください。

__CAPGO_KEEP_0__ Using @capgo/capacitor-compass 計画ダッシュボードとAPIの運用を、 @capgo/capacitor-compass @capgo/capacitorコンパスの実装詳細のために はじめに Getting Startedの実装の詳細についてはGetting Startedを参照 API Overview Capacitor Compassの実装詳細についてはAPIの概要です。 Introduction Introductionの実装の詳細についてはIntroductionを参照 API キー API の実装詳細についてはキーコンフィギュレーションに依存します。

FAQ

コンパスプラグインのFAQ

Capacitor Compass プラグインを Capacitor アプリにインストールする方法は何ですか。

Run &quot;bun add @capgo/capacitor-compass&quot; (or &quot;npm install @capgo/capacitor-compass&quot;), then run &quot;bunx cap sync&quot; so the iOS and Android projects pick up the native code. Import it from &quot;@capgo/capacitor-compass&quot; in your app code.

Capgoの@capgo/capacitor-compassは、React、Vue、Angularとどのように動作するか?

Yes. Compass is a Capacitor package, so it works with any web framework that runs inside Capacitor, including Ionic, React, Vue, Angular, Svelte and plain JavaScript.

Which Capacitor version does @capgo/capacitor-compass support?

Capgo plugins follow Capacitor&#39;s major version: use the plugin major version that matches your Capacitor major version (for example plugin v8 with Capacitor 8). The compatibility table in the GitHub README lists the maintained versions.

Capgoの@capgo/capacitor-compassは無料でオープンソースですか?

Yes. The source code is public on GitHub at https://github.com/Cap-go/capacitor-compass/ and the package is free to install from npm. Bug reports and pull requests are welcome.

Can I update code that uses Compass without an App Store review?

Installing or upgrading the plugin changes native code, so it needs a new store build. After that, JavaScript, HTML and CSS changes that call the plugin can ship instantly with Capgo live updates.

アプリレビューの待たずにCompassの変更を配信

プラグインがストアにビルドされたら、Capgoライブアップデートは、ユーザーにJavaScript、HTML、CSSの変更を数分でプッシュします。

Capgoで始めましょう