Passer à la navigation principale
@capgo/capacitor-compass Emplacement Source ouvert

Compass plugin Capacitor

Lire l'orientation du compas du dispositif en degrés avec des mises à jour continues et une gestion des autorisations

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 la boussole dans Capacitor

Tester sur appareil

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

Utilisation de @code/__CAPGO_KEEP_1__-boussole

Utilisation de @capgo/capacitor-compass

Capacitor Compass Plugin interface for reading device compass heading.

Télécharger

bun add @capgo/capacitor-compass
bunx cap sync

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

Importer

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

API en un coup d'œil

Méthode Description
getCurrentHeading Obtenez l'orientation actuelle du compas en degrés. Sur iOS, l'orientation est mise à jour en arrière-plan, et la dernière valeur est renvoyée. Sur Android, l'orientation est calculée lorsque la méthode est appelée à l'aide de capteurs d'accéléromètre et de magnétomètre. Non implémenté sur Web.
startListening Commencez à écouter les changements de direction du compas via des événements. Cela démarre les capteurs du compas et émet des événements 'headingChange'.
stopListening Arrêtez d'écouter les changements de direction du compas. Cela arrête les capteurs du compas et arrête l'émission d'événements.
checkPermissions Vérifiez l'état actuel des autorisations pour accéder aux données du compas. Sur iOS, cela vérifie l'état des autorisations de localisation. Sur Android, cela renvoie toujours « accordé » car aucune autorisation n'est requise.
requestPermissions Demander les autorisations pour accéder aux données du compas. Sur iOS, cela demande les autorisations de localisation (requises pour les données de capteur). Sur Android, cela se résout immédiatement car aucune autorisation n'est requise.
watchAccuracy Démarrer la surveillance de la précision du compas. Sur Android, cela surveille la précision du magnétomètre et émet des événements de type accuracyChange. Les développeurs peuvent écouter ces événements et mettre en place leur propre interface utilisateur pour les invitations de calibration. Sur iOS et Web, cette méthode ne fait rien car la surveillance de la précision du compas n'est pas disponible.
unwatchAccuracy Arrêtez la surveillance de l'exactitude du compas. Cela arrête la surveillance de l'exactitude.
getAccuracy Obtenez le niveau actuel de précision du compas. Sur Android, retourne la précision actuelle du capteur magnétomètre. Sur iOS et Web, le niveau de précision est toujours inconnu car la surveillance de la précision n'est pas disponible.

Exemples

getCurrentHeading()

Obtenez l'angle actuel du compas en degrés. Sur iOS, l'angle est mis à jour en arrière-plan et la valeur la plus récente est retournée. Sur Android, l'angle est calculé lorsque la méthode est appelée à l'aide des capteurs accéléromètre et magnétomètre. Non implémenté sur Web.

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

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

startListening()

Commencez à écouter les changements de direction du compas via des événements. Cela démarre 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 d'écouter les changements d'angle du compas. Cela arrête les capteurs du compas et arrête d'émettre des é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 du compas. Sur iOS, cela vérifie le statut des autorisations de localisation. Sur Android, cela retourne 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 l'autorisation d'accéder aux données du compas. Sur iOS, cela demande les autorisations de localisation (requises pour les données d'angle). Sur Android, cela se résout immédiatement car aucune autorisation 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 du compas. Sur Android, cela surveille la précision du capteur magnétomètre et émet des événements de type `accuracyChange`. Les développeurs peuvent écouter ces événements et mettre en place leur propre interface utilisateur pour les invitations de calibration. Sur iOS et Web, cette méthode ne fait rien car la surveillance de la précision du compas 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
  }
});

La table ci-dessus liste les 8 méthodes de base. Les aides pour les listeners et les versions, ainsi que la pleine convention de chaque méthode, sont documentées dans le répertoire GitHub.

Écoutez les événements

addListener retourne un gestionnaire. Appelez handle.remove() lorsque l'écran est démonté, ou CapgoCompass.removeAllListeners() pour supprimer tous les écouteurs.

Référence complète

Continuez à partir de l'utilisation de @capgo/capacitor-compass

Si vous utilisez En utilisant @capgo/capacitor-compass pour planifier l'interface de bord et les opérations API, la connecter 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 Prise en main, Vue d'ensemble de API pour les détails d'implémentation dans Vue d'ensemble de API, Introduction pour les détails d'implémentation dans Introduction, et Clés de API pour les détails d'implémentation dans Clés de API.

FAQ

FAQ du plugin Compass

How puis-je installer le plugin Compass dans une application Capacitor?

Exécutez « bun add @capgo/capacitor-compass » (ou « npm install @capgo/capacitor-compass »), puis exécutez « bunx cap sync » afin que les projets iOS et Android prennent en charge les natives code. Importez-l’à partir de « @capgo/capacitor-compass » dans votre application code.

Le plugin @capgo/capacitor-compass fonctionne-t-il avec React, Vue et Angular ?

Oui. Compass est un paquet Capacitor, il fonctionne donc avec tout framework web qui s'exécute à l'intérieur de Capacitor, y compris Ionic, React, Vue, Angular, Svelte et JavaScript simple.

Quelle version de Capacitor est prise en charge 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, plugin v8 avec Capacitor 8). La table de compatibilité dans le README du GitHub liste les versions maintenues.

Le plugin @capgo/capacitor-compass est-il gratuit et open source ?

Oui. Le code source code est public sur GitHub à l'adresse https://github.com/Cap-go/capacitor-compass/ et le paquet est gratuit à installer à partir de npm. Les rapports de bogues et les demandes de modification sont les bienvenus.

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

L'installation ou la mise à niveau du plugin modifie les natives code, il faut donc une nouvelle mise à jour de l'application. Une fois cela fait, les modifications JavaScript, HTML et CSS qui appellent le plugin peuvent être déployées instantanément avec les mises à jour Capgo.

Envoyez les modifications de Compass sans attendre la revue de l'application

Une fois le plugin dans votre magasin de build, Capgo les mises à jour en temps réel déclenchent vos modifications JavaScript, HTML et CSS chez les utilisateurs en quelques minutes.

Démarrer avec Capgo