Anleitung
Verwenden Sie Compass in Capacitor
Verwendung von @capgo/capacitor-compass
Capacitor Compass-Plugin-Schnittstelle für die Lesung der Gerätekompasseinstellung
Installieren
bun add @capgo/capacitor-compass
bunx cap sync
bunx cap sync kopiert die native code des Plugins in Ihre native Projekte. Führen Sie es erneut durch, nachdem Sie das Plugin aktualisiert haben.
Importieren
import { CapgoCompass } from '@capgo/capacitor-compass';
API im Überblick
| Methode | Beschreibung |
|---|---|
getCurrentHeading |
Erhalten Sie den aktuellen Kompasswinkel in Grad. Auf iOS wird der Winkel im Hintergrund aktualisiert und der neueste Wert zurückgegeben. Auf Android wird der Winkel, wenn die Methode aufgerufen wird, mithilfe von Beschleunigungssensor und Magnetometer berechnet. Nicht implementiert auf Web. |
startListening |
Hören Sie auf Kompasswinkeländerungen via Ereignisse. Dies startet die Kompasssensoren und sendet Ereignisse von Typ 'headingChange'. |
stopListening |
Beenden Sie das Hören auf Kompasswinkeländerungen. Dies stoppt die Kompasssensoren und stoppt die Ereignisausgabe. |
checkPermissions |
Überprüfen Sie den aktuellen Berechtigungsstatus für den Zugriff auf Kompassdaten. Auf iOS prüft dies die Standortberechtigung. Auf Android wird immer 'granted' zurückgegeben, da keine Berechtigungen erforderlich sind. |
requestPermissions |
Berechtigung anfordern, um auf Kompassdaten zuzugreifen. Auf iOS wird die Standortberechtigung angefordert (erforderlich für die Winkel-Daten). Auf Android wird sofort gelöst, da keine Berechtigungen erforderlich sind. |
watchAccuracy |
Kompassgenauigkeit überwachen. Auf Android überwacht dies die Magnetometergenauigkeit und sendet Ereignisse von Typ accuracyChange. Entwickler können diese Ereignisse abonnieren und eigene UIs für Kalibrierungshinweise implementieren. Auf iOS und Web tut dies nichts, da die Überwachung der Kompassgenauigkeit nicht verfügbar ist. |
unwatchAccuracy |
Beenden Sie die Überwachung der Kompassgenauigkeit. Dies stoppt die Genauigkeitsüberwachung. |
getAccuracy |
Erhalten Sie den aktuellen Kompassgenauigkeitslevel. Auf Android wird der aktuelle Magnetometersensorgenauigkeit zurückgegeben. Auf iOS und Web wird immer CompassAccuracy.UNKNOWN zurückgegeben, da die Genauigkeitsüberwachung nicht verfügbar ist. |
Beispiele
getCurrentHeading()
Erhalten Sie den aktuellen Kompasswinkel in Grad. Bei iOS wird der Winkel im Hintergrund aktualisiert und der neueste Wert wird zurückgegeben. Bei Android wird der Winkel mithilfe von Beschleunigungssensor und Magnetometer berechnet, wenn die Methode aufgerufen wird. Nicht implementiert auf Web.
import { CapgoCompass } from '@capgo/capacitor-compass';
const { value } = await CapgoCompass.getCurrentHeading();
console.log('Compass heading:', value, 'degrees');
startListening()
Starten Sie das Abhören von Kompasswinkeländerungen über Ereignisse. Dies startet die Kompasssensoren und sendet Ereignisse vom Typ '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()
Beenden Sie das Abhören von Kompasswinkeländerungen. Dies stoppt die Kompasssensoren und stoppt die Ereignisausgabe.
import { CapgoCompass } from '@capgo/capacitor-compass';
await CapgoCompass.stopListening();
checkPermissions()
Überprüfen Sie den aktuellen Berechtigungsstatus für den Zugriff auf Kompassdaten. Bei iOS wird die Standortberechtigung überprüft. Bei Android wird immer 'erlaubt' zurückgegeben, da keine Berechtigungen erforderlich sind.
import { CapgoCompass } from '@capgo/capacitor-compass';
const status = await CapgoCompass.checkPermissions();
console.log('Compass permission:', status.compass);
requestPermissions()
Berechtigungen zum Zugriff auf Kompassdaten anfordern. Bei iOS wird die Standortberechtigung angefordert (erforderlich für die Winkel-Daten). Bei Android wird sofort gelöst, da keine Berechtigungen erforderlich sind.
import { CapgoCompass } from '@capgo/capacitor-compass';
const status = await CapgoCompass.requestPermissions();
if (status.compass === 'granted') {
// Can now use compass
}
watchAccuracy()
Starten Sie die Überwachung der Kompassgenauigkeit. Bei Android wird die Magnetometergenauigkeit überwacht und Ereignisse vom Typ accuracyChange werden ausgelöst. Entwickler können diese Ereignisse abhören und eigene UIs für Kalibrierungsanfragen implementieren. Bei iOS und Web wird diese Methode nicht ausgeführt, da die Überwachung der Kompassgenauigkeit nicht verfügbar ist.
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
}
});
Die Tabelle oben listet die 8 Kernmethoden auf. Helfer für Listener und Versionen sowie die vollständige Vertragsstruktur jeder Methode sind in der GitHub Repository .
Hören Sie auf Ereignisse
addListener erstellt einen Handle. Rufen Sie handle.remove() an, wenn die Bildschirmabmeldung aufgehoben wird, oder CapgoCompass.removeAllListeners() um alle Listener zu löschen.
Vollständige Referenz
Fortfahren von Using @capgo/capacitor-compass
Wenn Sie Using verwenden Verwendung von @capgo/capacitor-Kompass um das Dashboard und API-Operationen zu planen, verbinden Sie es mit @capgo/capacitor-compass zur Implementierungsdetail in @capgo/capacitor-compass, Anleitung zum Starten zur Implementierungsdetail in Anleitung zum Starten, API Übersicht zur Implementierungsdetail in API Übersicht Einführung zur Implementierungsdetail in Einführung, und API Schlüssel zur Implementierungsdetail in API Schlüssel.