Pembukaan
Copy sebuah prompt pengaturan dengan langkah instalasi dan panduan markdown lengkap untuk plugin ini.
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these package(s): `@capgo/capacitor-compass`
Run the required Capacitor sync/update step after installation.
Read this markdown guide for the full setup steps: https://raw.githubusercontent.com/Cap-go/website/refs/heads/main/apps/docs/src/content/docs/docs/plugins/compass/getting-started.mdx
Use that guide for platform-specific steps, native file edits, permissions, config changes, imports, and usage setup.
If that guide references other docs pages, read them too.
Instalasi
Bab yang berjudul “Instalasi”Anda dapat menggunakan Pengaturan Bantuan AI untuk menginstal plugin. Tambahkan keterampilan Capgo ke alat AI Anda menggunakan perintah berikut:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsLalu 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:
bun add @capgo/capacitor-compassbunx cap syncImport
Bab berjudul “Import”import { CapgoCompass } from '@capgo/capacitor-compass';API Ringkasan
Bab berjudul “API Ringkasan”getCurrentHeading
Bab berjudul “getCurrentHeading”Peroleh arah kompas saat ini dalam derajat. Pada iOS, arah kompas diperbarui di latar belakang, dan nilai terbaru dikembalikan. Pada Android, arah kompas dihitung ketika metode dipanggil menggunakan sensor accelerometer dan magnetometer. Belum diimplementasikan pada Web.
import { CapgoCompass } from '@capgo/capacitor-compass';
const { value } = await CapgoCompass.getCurrentHeading();console.log('Compass heading:', value, 'degrees');startListening
Bab berjudul “startListening”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 updatesawait CapgoCompass.startListening({ minInterval: 50, // 50ms between events minHeadingChange: 1.0 // 1° minimum change});
CapgoCompass.addListener('headingChange', (event) => { console.log('Heading:', event.value);});stopListening
Judul Bagian “stopListening”Berhenti mendengarkan perubahan arah kompas. Fungsi ini menghentikan sensor kompas dan menghentikan emisi acara.
import { CapgoCompass } from '@capgo/capacitor-compass';
await CapgoCompass.stopListening();checkPermissions
Judul Bagian “checkPermissions”Periksa status izin saat ini untuk mengakses data kompas. Pada iOS, fungsi ini memeriksa status izin lokasi. Pada Android, fungsi 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);requestPermissions
Judul Bagian “requestPermissions”Minta izin untuk mengakses data kompas. Pada iOS, fungsi ini meminta izin lokasi (diperlukan untuk data arah). Pada Android, fungsi 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}watchAccuracy
Judul Bagian “watchAccuracy”Mulai memantau akurasi kompas. Pada Android, fungsi ini memantau akurasi magnetometer dan mengeluarkan acara perubahan akurasi. Para pengembang dapat mendengarkan acara-acara ini dan menerapkan UI mereka sendiri untuk permintaan kalibrasi. Pada iOS dan Web, fungsi ini tidak melakukan apa-apa karena pemantauan akurasi kompas tidak tersedia.
import { CapgoCompass } from '@capgo/capacitor-compass';
// Start monitoring accuracyawait CapgoCompass.watchAccuracy();
// Listen for accuracy changes and implement custom UICapgoCompass.addListener('accuracyChange', (event) => { console.log('Accuracy changed to:', event.accuracy); if (event.accuracy < CompassAccuracy.MEDIUM) { // Show your custom calibration UI }});unwatchAccuracy
Bab berjudul “unwatchAccuracy”Berhenti memantau akurasi kompas. Fungsi ini menghentikan pemantauan akurasi.
import { CapgoCompass } from '@capgo/capacitor-compass';
await CapgoCompass.unwatchAccuracy();getAccuracy
Bab berjudul “getAccuracy”Dapatkan tingkat akurasi kompas saat ini. Pada Android, mengembalikan akurasi sensor magnetometer saat ini. Pada iOS dan Web, selalu mengembalikan CompassAccuracy.UNKNOWN karena pemantauan akurasi tidak tersedia.
import { CapgoCompass } from '@capgo/capacitor-compass';
const { accuracy } = await CapgoCompass.getAccuracy();if (accuracy < CompassAccuracy.MEDIUM) { console.log('Compass needs calibration');}Referensi Tipe
Bab berjudul “Type Reference”CompassHeading
Bab berjudul “CompassHeading”Hasil yang berisi nilai arah kompas.
export interface CompassHeading { /** Compass heading in degrees (0-360) */ value: number;}ListeningOptions
Judul Bagian “ListeningOptions”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;}HeadingChangeEvent
Judul Bagian “HeadingChangeEvent”Data acara untuk perubahan arah.
export interface HeadingChangeEvent { /** Compass heading in degrees (0-360) */ value: number;}AccuracyChangeEvent
Judul Bagian “AccuracyChangeEvent”Data acara untuk perubahan akurasi.
export interface AccuracyChangeEvent { /** Current accuracy level of the compass */ accuracy: CompassAccuracy;}PermissionStatus
Judul Bagian “PermissionStatus”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;}CompassAccuracy
Judul Bagian “Akurasi Kompas”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,}PermissionState
Judul Bagian “Status Izin”Status izin akses kompas.
export type PermissionState = 'prompt' | 'prompt-with-rationale' | 'granted' | 'denied';Sumber Kebenaran
Judul Bagian “Sumber Kebenaran”Halaman ini dihasilkan dari plugin’s src/definitions.ts. Re-run sinkronisasi ketika API publik berubah di atas.
Teruskan dari Mulai Berjalan
Judul Bagian “Teruskan dari Mulai Berjalan”Jika Anda menggunakan Membuat Mulai untuk merencanakan dashboard dan operasi API, 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 di Perangkat.