Vai al contenuto principale
@capgo/capacitor-compass Posizione Open source

Compass Plugin Capacitor

Leggi l'orientamento del compasso del dispositivo in gradi con aggiornamenti continui e gestione delle autorizzazioni

Installa

bun add @capgo/capacitor-compass bunx cap sync
npm, pnpm o yarn
  • npm install @capgo/capacitor-compass
  • pnpm add @capgo/capacitor-compass
  • yarn add @capgo/capacitor-compass

Guida

Come utilizzare Compass in Capacitor

Testare su dispositivo

Scarica l'app Capgo, poi scansione il QR code.

Link QR anteprima del plugin Compass code

Utilizzando @capgo/capacitor-compass

Interfaccia plugin Compass di Capacitor per la lettura della direzione del compasso del dispositivo.

Installa

bun add @capgo/capacitor-compass
bunx cap sync

bunx cap sync copia il nativo code del plugin nei tuoi progetti nativi. Esegui nuovamente dopo ogni aggiornamento del plugin.

Importa

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

API in un colpo d'occhio

Metodo Descrizione
getCurrentHeading Ottieni l'attuale orientamento del compasso in gradi. Su iOS, l'orientamento viene aggiornato in background e il valore più recente viene restituito. Su Android, l'orientamento viene calcolato quando il metodo viene chiamato utilizzando i sensori accelerometro e magnetometro. Non implementato su Web.
startListening Inizia a ricevere cambiamenti dell'orientamento del compasso tramite eventi. Ciò attiva i sensori del compasso e emette eventi di tipo 'headingChange'.
stopListening Smetti di ricevere cambiamenti dell'orientamento del compasso. Ciò ferma i sensori del compasso e ferma l'emissione di eventi.
checkPermissions Controlla lo stato di autorizzazione corrente per accedere ai dati del compasso. Su iOS, ciò controlla lo stato di autorizzazione per la localizzazione. Su Android, ciò restituisce sempre 'granted' poiché non sono richieste autorizzazioni.
requestPermissions Richiedi l'autorizzazione per accedere ai dati del compasso. Su iOS, ciò richiede l'autorizzazione per la localizzazione (richiesta per i dati di orientamento). Su Android, ciò risolve immediatamente poiché non sono richieste autorizzazioni.
watchAccuracy Inizia a monitorare l'accuratezza del compasso. Su Android, ciò monitora l'accuratezza del magnetometro e emette eventi di tipo accuracyChange. 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 compasso non è disponibile.
unwatchAccuracy Smetti di monitorare l'accuratezza del compasso. Ciò ferma la monitorazione dell'accuratezza.
getAccuracy Ottieni il livello di accuratezza corrente del compasso. Su Android, restituisce l'accuratezza corrente del sensore magnetometro. Su iOS e Web, sempre restituisce CompassAccuracy.UNKNOWN poiché la monitoraggio dell'accuratezza non è disponibile.

Esempi

getCurrentHeading()

Ottieni l'attuale orientamento del compasso in gradi. Su iOS, l'orientamento viene aggiornato in background e il valore più recente viene restituito. Su Android, l'orientamento viene calcolato quando il metodo viene chiamato utilizzando i 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()

Inizia ad ascoltare i cambiamenti dell'orientamento del compasso tramite eventi. Ciò avvia i sensori del compasso e emette eventi di tipo '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()

Smetti di ascoltare le variazioni del capocchiale. Questo ferma i sensori del capocchiale e ferma l'emissione degli eventi.

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

await CapgoCompass.stopListening();

checkPermissions()

Controlla lo stato di autorizzazione corrente per accedere ai dati del compasso. Su iOS, ciò controlla lo stato di autorizzazione per la localizzazione. Su Android, ciò restituisce sempre 'granted' poiché non sono richieste autorizzazioni.

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

const status = await CapgoCompass.checkPermissions();
console.log('Compass permission:', status.compass);

requestPermissions()

Richiedi l'autorizzazione per accedere ai dati del compasso. Su iOS, ciò richiede l'autorizzazione per la localizzazione (richiesta per i dati di orientamento). Su Android, ciò 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()

Inizia a monitorare l'accuratezza del compasso. Su Android, ciò monitora l'accuratezza del sensore magnetometro e emette eventi di tipo accuracyChange. 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 monitoraggio dell'accuratezza del compasso non è disponibile.

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

La tabella sopra elenca le 8 metodologie di base. I listener e gli aiuti di versione, nonché il contratto completo di ogni metodo, sono documentati nella repository di GitHub.

Ascolta gli eventi

addListener ritorna un handle. Chiama handle.remove() quando lo schermo viene smontato, o CapgoCompass.removeAllListeners() per cancellare ogni ascoltatore.

Riferimento completo

Continua da Utilizza @capgo/capacitor-compass

Se stai utilizzando Utilizzando @capgo/capacitor-compass per pianificare il dashboard e le operazioni di API, connettilo con @capgo/capacitor-compass per i dettagli di implementazione in @capgo/capacitor-compass Getting Started per i dettagli di implementazione in Avvio Panoramica di API per i dettagli di implementazione in Panoramica di API Introduzione per i dettagli di implementazione in Introduzione, e Chiavi di API per i dettagli di implementazione in Chiavi di API

FAQ

Domande frequenti sul plugin Compass

How installo il plugin Compass in un'app Capacitor?

Run &quot;bun add @capgo/capacitor-compass&quot; (o &quot;npm install @capgo/capacitor-compass&quot;), quindi esegui &quot;bunx cap sync&quot; per far riconoscere ai progetti iOS e Android il nativo code. Importalo da &quot;@capgo/capacitor-compass&quot; nella tua app code.

Funziona @capgo/capacitor-compass con React, Vue e Angular?

Sì. Compass è un pacchetto Capacitor, quindi funziona con qualsiasi framework web che esegue all'interno di Capacitor, compresi Ionic, React, Vue, Angular, Svelte e JavaScript puro.

Qual è la versione di Capacitor supportata da @capgo/capacitor-compass?

Il plugin Capgo segue la versione maggiore di Capacitor: utilizza la versione maggiore del plugin che corrisponde alla tua versione maggiore di Capacitor (ad esempio plugin v8 con Capacitor 8). La tabella di compatibilità nel README del GitHub elenca le versioni mantenute.

È gratuito e open source @capgo/capacitor-compass?

Sì. Il codice sorgente code è pubblico su GitHub all'indirizzo https://github.com/Cap-go/capacitor-compass/ e il pacchetto è gratuito da installare su npm. I segnalazioni di bug e pull request sono benvenuti.

Posso aggiornare code che utilizza Compass senza una revisione dell'App Store?

Instalare o aggiornare il plugin modifica il nativo code, quindi richiede una nuova costruzione dello store. Dopo di che, le modifiche JavaScript, HTML e CSS che chiamano il plugin possono essere distribuite immediatamente con Capgo live updates.

Invia le modifiche di Compass senza attendere la revisione dell'app

Una volta che il plugin è presente nel tuo store build, Capgo le nuove versioni vengono distribuite ai clienti in pochi minuti.

Inizia con Capgo