Aller au contenu principal
@capgo/capacitor-compass Localisation Open source

Compass Plugin Capacitor

Lire le cap du compas de l'appareil en degrés avec des mises à jour continues et la gestion des permissions

Installer

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

Guide

Comment utiliser Compass dans Capacitor

Tester sur l'appareil

Téléchargez l'application Capgo, puis scannez le QR code.

Aperçu du plugin Compass via QR code

Utilisation de @capgo/capacitor-compass

Capacitor Plugin Compass pour lire le cap du compas de l'appareil.

Installer

bun add @capgo/capacitor-compass
bunx cap sync

bunx cap sync copie le code natif du plugin dans vos projets natifs. Relancez-l’après chaque mise à jour du plugin.

Importer

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

Aperçu de API

Méthode Description
getCurrentHeading Récupérez le cap actuel de la boussole en degrés. Sur iOS, le cap est mis à jour en arrière-plan et la dernière valeur est renvoyée. Sur Android, le cap est calculé lors de l'appel de la méthode via les capteurs accéléromètre et magnétomètre. Non implémenté sur le Web.
startListening Commencez à écouter les changements de cap du compas via des événements. Cela active les capteurs du compas et émet des événements 'headingChange'.
stopListening Arrêtez l'écoute des changements de cap du compas. Cela désactive les capteurs du compas et l'émission d'événements.
checkPermissions Vérifiez le statut actuel des autorisations pour accéder aux données de la boussole. Sur iOS, cela vérifie le statut des autorisations de localisation. Sur Android, cela renvoie toujours 'granted' car aucune autorisation n'est requise.
requestPermissions Demandez la permission d'accéder aux données de la boussole. Sur iOS, cela demande la permission de localisation (requise pour les données de cap). Sur Android, cela se résout immédiatement car aucune permission n'est requise.
watchAccuracy Commencez à surveiller la précision de la boussole. Sur Android, cela surveille la précision du magnétomètre et émet des événements accuracyChange. Les développeurs peuvent écouter ces événements et implémenter leur propre interface pour les prompts de calibration. Sur iOS et le Web, cette méthode ne fait rien car la surveillance de la précision de la boussole n'est pas disponible.
unwatchAccuracy Arrêter la surveillance de la précision de la boussole. Cela interrompt le suivi de la précision.
getAccuracy Obtenir le niveau de précision actuel de la boussole. Sur Android, retourne la précision actuelle du capteur magnétomètre. Sur iOS et le Web, retourne toujours CompassAccuracy.UNKNOWN car la surveillance de la précision n'est pas disponible.

Exemples

getCurrentHeading()

Récupérez le cap actuel de la boussole en degrés. Sur iOS, le cap est mis à jour en arrière-plan et la dernière valeur est renvoyée. Sur Android, le cap est calculé lors de l'appel de la méthode via les capteurs accéléromètre et magnétomètre. Non implémenté sur le Web.

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

const { value } = await CapgoCompass.getCurrentHeading();
console.log('Compass heading:', value, 'degrees');

startListening()

Commencez à écouter les changements de cap du compas via des événements. Cela active les capteurs du compas et émet des événements '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()

Arrêtez l'écoute des changements de cap du compas. Cela désactive les capteurs du compas et l'émission d'événements.

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

await CapgoCompass.stopListening();

checkPermissions()

Vérifiez le statut actuel des autorisations pour accéder aux données de la boussole. Sur iOS, cela vérifie le statut des autorisations de localisation. Sur Android, cela renvoie toujours 'granted' car aucune autorisation n'est requise.

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

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

requestPermissions()

Demandez la permission d'accéder aux données de la boussole. Sur iOS, cela demande la permission de localisation (requise pour les données de cap). Sur Android, cela se résout immédiatement car aucune permission n'est requise.

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

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

watchAccuracy()

Commencez à surveiller la précision de la boussole. Sur Android, cela surveille la précision du magnétomètre et émet des événements accuracyChange. Les développeurs peuvent écouter ces événements et implémenter leur propre interface pour les prompts de calibration. Sur iOS et le Web, cette méthode ne fait rien car la surveillance de la précision de la boussole n'est pas disponible.

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

Le tableau ci-dessus liste les 8 méthodes principales. Les helpers de listener et de version, ainsi que le contrat complet de chaque méthode, sont documentés dans le dépôt GitHub.

Écouter les événements

addListener renvoie un handle. Appelez handle.remove() lors du démontage de l'écran, ou CapgoCompass.removeAllListeners() pour supprimer tous les listeners.

Référence complète

Continuer avec l'utilisation de @capgo/capacitor-compass

Si vous utilisez Utiliser @capgo/capacitor-compass pour planifier les opérations du dashboard et de API, connectez-l’avec @capgo/capacitor-compass pour les détails d'implémentation dans @capgo/capacitor-compass, Prise en main pour les détails d'implémentation dans Getting Started Aperçu de API pour les détails d'implémentation dans « Vue d'ensemble de API », Introduction pour les détails d'implémentation dans l'Introduction, et Clés API pour les détails d'implémentation dans les clés API.

FAQ

FAQ du plugin Compass

Comment installer le plugin Compass dans une application Capacitor ?

Exécutez "bun add @capgo/capacitor-compass" (ou "npm install @capgo/capacitor-compass"), puis lancez "bunx cap sync" pour que les projets iOS et Android prennent en compte le code natif. Importez-le depuis "@capgo/capacitor-compass" dans votre code.

Est-ce que @capgo/capacitor-compass fonctionne avec React, Vue et Angular ?

Oui. Compass est un package Capacitor, il fonctionne donc avec n'importe quel framework web tournant sous Capacitor, y compris Ionic, React, Vue, Angular, Svelte et le JavaScript pur.

Quelle version de Capacitor est supportée par @capgo/capacitor-compass ?

Les plugins Capgo suivent la version majeure de Capacitor : utilisez la version majeure du plugin qui correspond à la version majeure de votre Capacitor (par exemple le plugin v8 avec Capacitor 8). Le tableau de compatibilité du README de GitHub recense les versions maintenues.

Est-ce que @capgo/capacitor-compass est gratuit et open source ?

Oui. Le code source de code est public sur GitHub à l'adresse https://github.com/Cap-go/capacitor-compass/ et le package est gratuit à installer via npm. Les rapports de bugs et les pull requests sont les bienvenus.

Puis-je mettre à jour code utilisant Compass sans passer par une revue de l'App Store ?

L'installation ou la mise à jour du plugin modifie le code natif, ce qui impose un nouveau build pour les stores. Ensuite, les changements JavaScript, HTML et CSS qui appellent le plugin peuvent être livrés instantanément via les live updates de Capgo.

Déployez les changements de Compass sans attendre la validation de l'app

Une fois le plugin intégré à votre build de store, Capgo live updates déploie vos changements JavaScript, HTML et CSS aux utilisateurs en quelques minutes.

Commencez avec Capgo