Getting Started
Copia un prompt di configurazione con i passaggi di installazione e la guida markdown completa per questo plugin.
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.
Installazione
Sottosezione intitolata “Installazione”Puoi utilizzare la nostra configurazione assistita dall'IA per installare il plugin. Aggiungi le Capgo competenze al tuo strumento di AI utilizzando il seguente comando:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsPoi utilizza la seguente richiesta:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-compass` plugin in my project.Se preferisci la configurazione manuale, installa il plugin eseguendo i seguenti comandi e segui le istruzioni specifiche del tuo platform sotto:
bun add @capgo/capacitor-compassbunx cap syncimport { CapgoCompass } from '@capgo/capacitor-compass';Panoramica di API
Sottosezione intitolata “Panoramica di API”getCurrentHeading
Sottosezione intitolata “getCurrentHeading”Ottieni l'attuale orientamento della bussola in gradi. Su iOS, l'orientamento viene aggiornato in background e il valore più recente viene restituito. Su Android, l'orientamento viene calcolato quando si chiama il metodo utilizzando sensori accelerometro e magnetometro. Non implementato su Web.
import { CapgoCompass } from '@capgo/capacitor-compass';
const { value } = await CapgoCompass.getCurrentHeading();console.log('Compass heading:', value, 'degrees');startListening
Sottosezione intitolata “startListening”Inizia a ricevere aggiornamenti sull'orientamento della bussola tramite eventi. Ciò avvia i sensori della bussola e emette eventi ‘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
Sezione intitolata “stopListening”Smettere di ascoltare le variazioni del capo magnetico. Questo ferma i sensori del capo e smette di emettere eventi.
import { CapgoCompass } from '@capgo/capacitor-compass';
await CapgoCompass.stopListening();checkPermissions
Sezione intitolata “checkPermissions”Controlla lo stato di autorizzazione corrente per accedere ai dati del capo magnetico. Su iOS, questo controlla lo stato di autorizzazione per l'accesso alla posizione. Su Android, questo restituisce sempre 'concesso' poiché non sono richieste autorizzazioni.
import { CapgoCompass } from '@capgo/capacitor-compass';
const status = await CapgoCompass.checkPermissions();console.log('Compass permission:', status.compass);requestPermissions
Sezione intitolata “requestPermissions”Richiedi l'autorizzazione per accedere ai dati del capo magnetico. Su iOS, questo richiede l'autorizzazione per l'accesso alla posizione (richiesta per i dati di direzione). Su Android, questo risolve immediatamente poiché non sono richieste autorizzazioni.
import { CapgoCompass } from '@capgo/capacitor-compass';
const status = await CapgoCompass.requestPermissions();if (status.compass === 'granted') { // Can now use compass}watchAccuracy
Sezione intitolata “watchAccuracy”Inizia a monitorare l'accuratezza del capo magnetico. Su Android, questo monitora l'accuratezza del magnetometro e emette eventi di accuratezza. I sviluppatori possono ascoltare questi eventi e implementare la propria UI per le richieste di calibrazione. Su iOS e Web, questo metodo non fa nulla poiché la monitorazione dell'accuratezza del capo magnetico non è disponibile.
import { CapgoCompass, CompassAccuracy } 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
Sezione intitolata “unwatchAccuracy”Smetti di monitorare l'accuratezza del compasso. Ciò ferma la monitoraggio dell'accuratezza.
import { CapgoCompass } from '@capgo/capacitor-compass';
await CapgoCompass.unwatchAccuracy();getAccuracy
Sezione intitolata “getAccuracy”Get the current compass accuracy level. On Android, returns the current magnetometer sensor accuracy. On iOS and Web, always returns CompassAccuracy.UNKNOWN as accuracy monitoring is not available.
import { CapgoCompass, CompassAccuracy } from '@capgo/capacitor-compass';
const { accuracy } = await CapgoCompass.getAccuracy();if (accuracy < CompassAccuracy.MEDIUM) { console.log('Compass needs calibration');}Riferimento di Tipo
Section titled “Type Reference”CompassHeading
Sezione intitolata “Type Reference”Sezione intitolata “CompassHeading”
export interface CompassHeading { /** Compass heading in degrees (0-360) */ value: number;}ListeningOptions
Sezione intitolata “ListeningOptions”Opzioni per configurare il comportamento di ascolto di 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;}HeadingChangeEvent
Sezione intitolata “HeadingChangeEvent”Dati evento per gli eventi di modifica della testa.
export interface HeadingChangeEvent { /** Compass heading in degrees (0-360) */ value: number;}AccuracyChangeEvent
Sezione intitolata “AccuracyChangeEvent”Dati evento per gli eventi di modifica dell'accuratezza.
export interface AccuracyChangeEvent { /** Current accuracy level of the compass */ accuracy: CompassAccuracy;}PermissionStatus
Sezione intitolata “PermissionStatus”Stato di autorizzazione per il plugin 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;}CompassAccuracy
Sezione intitolata “CompassAccuracy”Costanti di livello di accuratezza del 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,}PermissionState
Sezione intitolata “PermissionState”Stato di autorizzazione per l'accesso al Compass.
export type PermissionState = 'prompt' | 'prompt-with-rationale' | 'granted' | 'denied';Fonte di Verità
Sezione intitolata “Fonte di Verità”Questa pagina è generata dal plugin’s src/definitions.ts. Re-run the sync when the public API changes upstream.
Continua da qui: Inizia
Sezione intitolata “Continua da qui: Inizia”Se stai utilizzando Getting Started per pianificare il dashboard e le API operazioni, connettilo con Utilizzo di @capgo/capacitor-compass per la capacità nativa in Utilizzo di @capgo/capacitor-compass, Panoramica di API per i dettagli di implementazione in Panoramica di API, Introduzione per i dettagli di implementazione in Introduzione, Chiavi di API per i dettagli di implementazione in Chiavi di API, e Dispositivi per i dettagli di implementazione in Dispositivi.