Lompat ke Konten

Getting Started

GitHub

Anda dapat menggunakan Pengaturan Asisten AI kami untuk menginstal plugin. Tambahkan Capgo kemampuan ke alat AI Anda menggunakan perintah berikut:

Jendela terminal
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins

Lalu gunakan prompt berikut:

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

Jika Anda lebih suka Pengaturan Manual, instal plugin dengan menjalankan perintah-perintah berikut dan ikuti instruksi spesifik platform di bawah ini:

Jendela terminal
bun add @capgo/capacitor-compass
bunx cap sync
import { CapgoCompass } from '@capgo/capacitor-compass';

Dapatkan arah kompas dalam derajat. Di iOS, arah kompas diperbarui di latar belakang, dan nilai terbaru dikembalikan. Di Android, arah kompas dihitung ketika metode dipanggil menggunakan sensor accelerometer dan magnetometer. Belum diimplementasikan di Web.

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

Mulai mendengarkan perubahan arah kompas melalui event. Fungsi ini memulai sensor kompas dan mengirimkan event ‘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);
});

Berhenti mendengarkan perubahan arah kompas. Fungsi ini menghentikan sensor kompas dan menghentikan emisi event.

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

Periksa status izin saat ini untuk mengakses data kompas. Pada iOS, ini memeriksa status izin lokasi. Pada Android, ini selalu mengembalikan ‘diberikan’ karena tidak ada izin yang diperlukan.

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

Minta izin untuk mengakses data kompas. Pada iOS, ini meminta izin lokasi (diperlukan untuk data arah). Pada Android, ini segera diselesaikan karena tidak ada izin yang diperlukan.

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

Mulai memantau akurasi kompas. Pada Android, ini memantau akurasi magnetometer dan mengeluarkan event perubahan akurasi. Para pengembang dapat mendengarkan event ini dan menerapkan UI mereka sendiri untuk permintaan kalibrasi. Pada iOS dan Web, metode ini tidak melakukan apa-apa karena pemantauan akurasi kompas tidak tersedia.

import { CapgoCompass } 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
}
});

Hentikan pengukuran akurasi kompas. Fungsi ini menghentikan pengukuran akurasi.

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

Ambil tingkat akurasi kompas saat ini. Pada Android, mengembalikan tingkat akurasi sensor magnetometer saat ini. Pada iOS dan Web, selalu mengembalikan CompassAccuracy.UNKNOWN karena pengukuran akurasi tidak tersedia.

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

Hasil yang berisi nilai arah kompas.

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

Opsi untuk mengonfigurasi perilaku mendengarkan kompas.

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

Data acara untuk perubahan heading.

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

Data acara untuk perubahan akurasi.

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

Status izin untuk plugin kompas.

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

Konstanta tingkat akurasi kompas.

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,
}

Status izin untuk akses kompas.

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

Halaman ini dihasilkan dari plugin’s src/definitions.tsRe-run sinkronisasi ketika publik API berubah di atas

Jika Anda menggunakan Getting Started untuk merencanakan dashboard dan API operasi, hubungkannya dengan Menggunakan @capgo/capacitor-compass untuk kemampuan asli dalam Menggunakan @capgo/capacitor-compass, API Ringkasan untuk detail implementasi dalam API Ringkasan, Pendahuluan untuk detail implementasi dalam Pendahuluan, API Kunci untuk detail implementasi dalam API Kunci, dan Perangkat untuk detail implementasi dalam Perangkat.