Getting Started
Copie un prompt de configuración con los pasos de instalación y la guía de markdown completa para este plugin.
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these package(s): `@capgo/capacitor-compass`
Run the required Capacitor sync/update step after installation.
Read this markdown guide for the full setup steps: https://raw.githubusercontent.com/Cap-go/website/refs/heads/main/apps/docs/src/content/docs/docs/plugins/compass/getting-started.mdx
Use that guide for platform-specific steps, native file edits, permissions, config changes, imports, and usage setup.
If that guide references other docs pages, read them too.
Instalación
Título de la sección “Instalación”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:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsLuego 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:
bun add @capgo/capacitor-compassbunx cap syncImportar
Sección titulada “Importar”import { CapgoCompass } from '@capgo/capacitor-compass';API Resumen
Sección titulada “API Resumen”getCurrentHeading
Sección titulada “getCurrentHeading”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');startListening
Sección titulada “startListening”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 updatesawait CapgoCompass.startListening({ minInterval: 50, // 50ms between events minHeadingChange: 1.0 // 1° minimum change});
CapgoCompass.addListener('headingChange', (event) => { console.log('Heading:', event.value);});stopListening
Sección titulada “stopListening”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();checkPermissions
Sección titulada “checkPermissions”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);requestPermissions
Sección titulada “requestPermissions”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}watchAccuracy
Sección titulada “watchAccuracy”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 accuracyawait CapgoCompass.watchAccuracy();
// Listen for accuracy changes and implement custom UICapgoCompass.addListener('accuracyChange', (event) => { console.log('Accuracy changed to:', event.accuracy); if (event.accuracy < CompassAccuracy.MEDIUM) { // Show your custom calibration UI }});unwatchAccuracy
Sección titulada “unwatchAccuracy”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();getAccuracy
Sección titulada “getAccuracy”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');}Referencia de tipos
Sección titulada “Referencia de tipos”CompassHeading
Sección titulada “CompassHeading”Resultado que contiene el valor del encabezado del compás.
export interface CompassHeading { /** Compass heading in degrees (0-360) */ value: number;}ListeningOptions
Sección titulada “ListeningOptions”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;}HeadingChangeEvent
Sección titulada “HeadingChangeEvent”Datos del evento de cambio de encabezado.
export interface HeadingChangeEvent { /** Compass heading in degrees (0-360) */ value: number;}AccuracyChangeEvent
Sección titulada “AccuracyChangeEvent”Datos del evento de cambio de precisión.
export interface AccuracyChangeEvent { /** Current accuracy level of the compass */ accuracy: CompassAccuracy;}PermissionStatus
Sección titulada “PermissionStatus”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;}CompassAccuracy
Sección titulada “Precisión del Compás”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,}PermissionState
Sección titulada “Estado de Permiso”Estado de permiso para acceso al compás.
export type PermissionState = 'prompt' | 'prompt-with-rationale' | 'granted' | 'denied';Fuente de Verdad
Sección titulada “Fuente de Verdad”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.
Seguir adelante desde Inicio
Sección titulada “Seguir adelante desde Inicio”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.