Guide
Comment utiliser la boussole dans Capacitor
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.