Saltar al contenido

Getting Started

GitHub

Puede utilizar nuestra configuración asistida por IA para instalar el plugin. Agregue las Capgo habilidades a su herramienta de IA utilizando el siguiente comando:

Ventana de terminal
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins

Luego utilice el siguiente prompt:

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

Si prefiere la configuración manual, instale el plugin ejecutando los siguientes comandos y siguiendo las instrucciones específicas del plataforma a continuación:

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

Obtener la dirección actual del compás en grados. En iOS, la dirección se actualiza en segundo plano y se devuelve el último valor. En Android, la dirección se calcula cuando se llama al método utilizando sensores de acelerómetro y magnetómetro. No implementado en Web.

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

Comenzar a escuchar cambios en la dirección del compás mediante eventos. Esto inicia los sensores del compás y emite eventos ‘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);
});

Detener la escucha de cambios en la dirección del compás. Esto detiene los sensores del compás y detiene la emisión de eventos.

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

Verificar el estado de permiso actual para acceder a datos del compás. En iOS, esto verifica el estado de permiso de ubicación. En Android, esto siempre devuelve ‘concedido’ ya que no se requieren permisos.

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

Solicitar permiso para acceder a datos del compás. En iOS, esto solicita permiso de ubicación (requerido para datos de dirección). En Android, esto resuelve inmediatamente ya que no se requieren permisos.

import { CapgoCompass } from '@capgo/capacitor-compass';
const status = await CapgoCompass.requestPermissions();
if (status.compass === 'granted') {
// Can now use compass
}

Comenzar a monitorear la precisión del compás. En Android, esto monitorea la precisión del magnetómetro y emite eventos de cambio de precisión. Los desarrolladores pueden escuchar estos eventos y implementar su propia interfaz de usuario para solicitudes de calibración. En iOS y Web, este método no hace nada ya que la monitorización de precisión del compás no está disponible.

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
}
});

Detener la monitorización de la precisión del compás. Esto detiene la monitorización de la precisión.

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

Obtener el nivel actual de precisión del compás. En Android, devuelve la precisión actual del sensor magnetómetro. En iOS y Web, siempre devuelve CompassAccuracy.UNKNOWN ya que la monitorización de precisión no está disponible.

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

Resultado que contiene el valor del encabezado del compás.

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

Opciones para configurar el comportamiento de escucha del compás.

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;
}

Datos del evento de cambio de encabezado.

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

Datos del evento de cambio de precisión.

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

Estado de permiso para el plugin de compás.

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;
}

Constantes de nivel de precisión del compás.

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,
}

Estado de permiso para acceso al compás.

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

Esta página se genera a partir del plugin’s src/definitions.ts. Re-ejecutar la sincronización cuando el público API cambie en la fuente.

Si está utilizando Inicio para planificar la consola y las operaciones de API, conecte con Usando @capgo/capacitor-compass para la capacidad nativa en Usando @capgo/capacitor-compass, API Resumen para el detalle de implementación en API Resumen, Introducción para el detalle de implementación en Introducción, API Claves para el detalle de implementación en API Claves, y Dispositivos para los detalles de implementación en dispositivos.