Zum Hauptinhalt springen
@capgo/capacitor-kompass Ort Offene Quelle

Kompass Capacitor-Plugin

Les Geräte-Kompasswinkel in Grad mit ständigen Updates und Berechtigungsverwaltung lesen

Installieren

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

Anleitung

Verwenden Sie Compass in Capacitor

Testen Sie auf Gerät

Laden Sie die Capgo-App herunter, dann scannen Sie das QR-Code code.

Compass-Plugin-Vorschau-QR code

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.

FAQ

Compass-Plugin-Faq

Wie installiere ich den Compass-Plugin in einer Capacitor-Anwendung?

Führen Sie "bun add @capgo/capacitor-compass" (oder "npm install @capgo/capacitor-compass"), dann führen Sie "bunx cap sync" aus, damit die iOS- und Android-Projekte die native code-Datei aufnehmen. Importieren Sie sie von "@capgo/capacitor-compass" in Ihrer code-Anwendung.

Arbeitet @capgo/capacitor-compass mit React, Vue und Angular?

Ja. Compass ist ein Capacitor-Paket, daher funktioniert es mit jedem Webframework, das innerhalb von Capacitor läuft, einschließlich Ionic, React, Vue, Angular, Svelte und plain JavaScript.

Welche Capacitor-Version unterstützt @capgo/capacitor-compass?

Capgo-Plugins folgen der Capacitor-Version: verwenden Sie das Plugin mit der Versionsnummer, die Ihrem Capacitor-Majorversion entspricht (z.B. Plugin v8 mit Capacitor 8). Die Versionskompatibilitätstabelle im GitHub-README-Datei listet die unterstützten Versionen auf.

Ist @capgo/capacitor-compass kostenlos und Open-Source?

Yes. The source code is public on GitHub at https://github.com/Cap-go/capacitor-compass/ and the package is free to install from npm. Bug reports and pull requests are welcome.

Kann ich code aktualisieren, das Compass verwendet, ohne eine App-Store-Bewertung?

Die Installation oder das Upgrade des Plugins ändert die native code, daher benötigt es eine neue Store-Build. Anschließend können JavaScript-, HTML- und CSS-Änderungen, die den Plugin aufrufen, sofort mit Capgo-Live-Updates verschickt werden.

Schiffe Compass-Änderungen ohne auf die App-Überprüfung warten

Einmal der Plugin im Store Build installiert, werden Capgo lebendige Updates Ihre JavaScript, HTML und CSS Änderungen in Minuten an die Benutzer pushen.

Mit Capgo beginnen