Zum Inhalt springen

Getting Started

GitHub

Sie können unsere AI-gestützte Einrichtung verwenden, um das Plugin zu installieren. Fügen Sie die Capgo-Fähigkeiten zu Ihrem KI-Tool hinzu, indem Sie die folgende Befehlszeile verwenden:

Terminal-Fenster
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins

Verwenden Sie dann die folgende Anweisung:

Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-compass` plugin in my project.

Wenn Sie die manuelle Einrichtung bevorzugen, installieren Sie das Plugin, indem Sie die folgenden Befehle ausführen und die Plattform-spezifischen Anweisungen unten befolgen:

Terminalfenster
bun add @capgo/capacitor-compass
bunx cap sync
import { CapgoCompass } from '@capgo/capacitor-compass';

Ermitteln Sie den aktuellen Kompasswinkel in Grad. Bei iOS wird der Winkel im Hintergrund aktualisiert und der neueste Wert zurückgegeben. Bei Android wird der Winkel mit dem Aufruf der Methode mithilfe von Beschleunigungssensor und Magnetometer berechnet. Nicht implementiert auf Web.

import { CapgoCompass } from '@capgo/capacitor-compass';
const { value } = await CapgoCompass.getCurrentHeading();
console.log('Compass heading:', value, 'degrees');

Starten Sie die Abhörung von Kompasswinkeländerungen über Ereignisse. Dies startet die Kompass-Sensoren und sendet Ereignisse von 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);
});

Hören Sie auf, auf Änderungen der Kompassrichtung zu lauschen. Dies stoppt die Kompass-Sensoren und stoppt die Ereignisausgabe.

import { CapgoCompass } from '@capgo/capacitor-compass';
await CapgoCompass.stopListening();

Überprüfen Sie den aktuellen Berechtigungsstatus für den Zugriff auf Kompassdaten. Auf iOS überprüft dies die Standortberechtigung. Auf Android wird immer ‘erteilt’ zurückgegeben, da keine Berechtigungen erforderlich sind.

import { CapgoCompass } from '@capgo/capacitor-compass';
const status = await CapgoCompass.checkPermissions();
console.log('Compass permission:', status.compass);

Berechtigung zum Zugriff auf Kompassdaten anfordern. Auf iOS wird Standortberechtigung angefordert (erforderlich für die Daten der Kompassrichtung). Auf 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
}

Kompassgenauigkeit überwachen. Auf Android überwacht dies die Genauigkeit des Magnetometers und emittiert Ereignisse für Genauigkeitsänderungen. Entwickler können auf diese Ereignisse lauschen und eigene UIs für Anpassungshinweise implementieren. Auf iOS und Web tut dies nichts, da die Überwachung der Kompassgenauigkeit nicht verfügbar ist.

import { CapgoCompass } 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
}
});

Compassgenauigkeit beenden. Dies beendet die Genauigkeitsüberwachung.

import { CapgoCompass } from '@capgo/capacitor-compass';
await CapgoCompass.unwatchAccuracy();

Ermitteln Sie den aktuellen Kompassgenauigkeitslevel. Bei Android-Systemen gibt es die aktuelle Magnetometer-Sensorenpräzision zurück. Bei iOS- und Web-Systemen wird immer CompassAccuracy.UNKNOWN zurückgegeben, da die Genauigkeitsüberwachung nicht verfügbar ist.

import { CapgoCompass } from '@capgo/capacitor-compass';
const { accuracy } = await CapgoCompass.getAccuracy();
if (accuracy < CompassAccuracy.MEDIUM) {
console.log('Compass needs calibration');
}

Ermittelt den Kompassrichtungswert.

export interface CompassHeading {
/** Compass heading in degrees (0-360) */
value: number;
}

Einstellungen für die Konfiguration des Kompass-Hörverhaltens.

export interface ListeningOptions {
/**
* Minimum interval between heading change events in milliseconds.
* Lower values = more frequent updates but higher CPU/battery usage.
*
* @default 100
* @since 8.1.4
*/
minInterval?: number;
/**
* Minimum heading change in degrees required to trigger an event.
* Lower values = more sensitive but more events.
* Handles wraparound (e.g., 359° to 1° = 2° change).
*
* @default 2.0
* @since 8.1.4
*/
minHeadingChange?: number;
}

Daten für Ereignisse von Änderungen des Kompass-Kurses.

export interface HeadingChangeEvent {
/** Compass heading in degrees (0-360) */
value: number;
}

Daten für Ereignisse von Änderungen der Genauigkeit.

export interface AccuracyChangeEvent {
/** Current accuracy level of the compass */
accuracy: CompassAccuracy;
}

Zustand der Berechtigung für den Kompass-Plugin.

export interface PermissionStatus {
/**
* Permission state for accessing compass/location data.
* On iOS, this requires location permission to access heading.
* On Android, no special permissions are required for compass sensors.
*
* @since 7.0.0
*/
compass: PermissionState;
}

Konstanten für die Kompassgenauigkeitseinstellungen.

export enum CompassAccuracy {
/** High accuracy - approximates to less than 5 degrees of error */
HIGH = 3,
/** Medium accuracy - approximates to less than 10 degrees of error */
MEDIUM = 2,
/** Low accuracy - approximates to less than 15 degrees of error */
LOW = 1,
/** Unreliable accuracy - approximates to more than 15 degrees of error */
UNRELIABLE = 0,
/** Unknown accuracy value */
UNKNOWN = -1,
}

Zugriffsrechte für den Zugriff auf den Kompass.

export type PermissionState = 'prompt' | 'prompt-with-rationale' | 'granted' | 'denied';

Diese Seite wurde von dem Plugin generiert. Wenn sich die öffentliche __CAPGO_KEEP_0__ im Hintergrund ändert, führen Sie die Synchronisation erneut durch. src/definitions.ts. Re-run the sync when the public API changes upstream.

Abschnitt mit dem Titel “Weitermachen von Getting Started”

protectedTokens

Wenn Sie Einstieg to plan dashboard and API operations, connect it with Using @capgo/capacitor-compass for the native capability in Using @capgo/capacitor-compass, API Overview for the implementation detail in API Overview, Einführung für die Implementierungsdetails in API Keys for the implementation detail in API Keys, and Geräte für die Implementierungsdetails in Geräten.