시작하기
설치 단계와 이 플러그인의 전체 마크다운 가이드를 포함한 설정 지시를 복사하세요.
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.
설치
설치Capgo의 AI-Assisted Setup을 사용하여 플러그인을 설치할 수 있습니다. AI 도구에 Capgo 기능을 추가하려면 다음 명령어를 사용하세요:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins만약 Manual Setup을 선호한다면, 플러그인을 설치하기 위해 다음 명령어를 실행하고 아래의 플랫폼별 지침을 따르세요:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-compass` plugin in my project.설치
bun add @capgo/capacitor-compassbunx cap sync수입
수입import { CapgoCompass } from '@capgo/capacitor-compass';API 개요
API 개요getCurrentHeading
getCurrentHeading현재 지구磁気의 방향을 얻습니다. iOS에서는 백그라운드에서 지구磁気의 방향을 업데이트하고, 최신 값을 반환합니다. Android에서는 가속도계와 자이로 센서를 사용하여 호출할 때 지구磁気의 방향을 계산합니다. 웹에서는 구현되지 않았습니다.
import { CapgoCompass } from '@capgo/capacitor-compass';
const { value } = await CapgoCompass.getCurrentHeading();console.log('Compass heading:', value, 'degrees');startListening
startListening지구磁気의 방향이 변경될 때 이벤트를 듣습니다. 이것은 지구磁기 센서를 시작하고 'headingChange' 이벤트를.emit합니다.
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
Section titled “compassStopListening”compass 방향 변경을 감지하지 않습니다. 이것은 compass 센서를 중단하고 이벤트를 중단합니다.
import { CapgoCompass } from '@capgo/capacitor-compass';
await CapgoCompass.stopListening();checkPermissions
권한 확인Section titled “compassCheckPermissions”
import { CapgoCompass } from '@capgo/capacitor-compass';
const status = await CapgoCompass.checkPermissions();console.log('Compass permission:', status.compass);requestPermissions
권한 요청Section titled “compassRequestPermissions”
import { CapgoCompass } from '@capgo/capacitor-compass';
const status = await CapgoCompass.requestPermissions();if (status.compass === 'granted') { // Can now use compass}Section titled “compassWatchAccuracy”
import { CapgoCompass, CompassAccuracy } 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
unwatchAccuracyCompass 정확도 모니터링을 중단합니다. 이것은 정확도 모니터링을 중단합니다.
import { CapgoCompass } from '@capgo/capacitor-compass';
await CapgoCompass.unwatchAccuracy();getAccuracy
getAccuracy현재 Compass 정확도 수준을 가져옵니다. 안드로이드에서 현재 자이로 센서 정확도를 반환합니다. iOS와 Web에서 항상 CompassAccuracy.UNKNOWN을 반환합니다.
import { CapgoCompass, CompassAccuracy } from '@capgo/capacitor-compass';
const { accuracy } = await CapgoCompass.getAccuracy();if (accuracy < CompassAccuracy.MEDIUM) { console.log('Compass needs calibration');}타입 참조
타입 참조CompassHeading
CompassCompass 방향 값을 포함하는 결과입니다.
export interface CompassHeading { /** Compass heading in degrees (0-360) */ value: number;}ListeningOptions
ListeningOptionsCompass 설정을 위한 옵션입니다.
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
클립보드 복사컨택스 헤딩 변경 이벤트
export interface HeadingChangeEvent { /** Compass heading in degrees (0-360) */ value: number;}AccuracyChangeEvent
컨택스 헤딩 변경 이벤트 데이터정확도 변경 이벤트
export interface AccuracyChangeEvent { /** Current accuracy level of the compass */ accuracy: CompassAccuracy;}PermissionStatus
정확도 변경 이벤트 데이터권한 상태
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
컨택스 정확도Compass 정확도 수준 상수.
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
권한 상태Compass 접근 권한 상태.
export type PermissionState = 'prompt' | 'prompt-with-rationale' | 'granted' | 'denied';진실의 근원
진실의 근원이 페이지는 플러그인의 src/definitions.ts공개 API이 업스트림에서 변경될 때 다시 싱크를 실행하세요.
Getting Started에서 계속
Getting Started에서 계속이 플러그인을 사용하는 경우 시작하기 대시보드와 API 연산을 계획하고 연결하세요. @capgo/capacitor-compass 사용 Using @capgo/capacitor-compass API 개요 API 개요 소개 소개 API 키 API 키 장치 장치