메뉴로 바로가기

Getting Started

GitHub

설치

설치

AI-Assisted Setup을 사용하여 플러그인을 설치할 수 있습니다. AI 도구에 다음 명령어를 사용하여 Capgo 스킬을 추가하세요:

터미널 창
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins

다음 명령어를 사용하세요:

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

만약 Manual Setup을 선호한다면, 플러그인을 설치하기 위해 다음 명령어를 실행하고 아래에 플랫폼에 따라 설명된 지침을 따르세요:

터미널 창
bun add @capgo/capacitor-compass
bunx cap sync
import { CapgoCompass } from '@capgo/capacitor-compass';

getCurrentHeading

getCurrentHeading

현재 지구력(Heading) 값을 얻습니다. 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 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

stopListening

compass 방향 변경을 감지하는 것을 중단합니다. 이것은 compass 센서를 중단하고 이벤트를 중단합니다.

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

checkPermissions

권한 확인

compass 데이터에 대한 현재 권한 상태를 확인합니다. iOS에서 이 메서드는 위치 권한 상태를 확인합니다. Android에서 이 메서드는 항상 '허용'을 반환합니다. 왜냐하면 권한이 필요하지 않기 때문입니다.

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

requestPermissions

권한 요청

compass 데이터에 대한 권한을 요청합니다. iOS에서 이 메서드는 위치 권한을 요청합니다. (헤딩 데이터를 위해 필요합니다). Android에서 이 메서드는 즉시 해결됩니다. 왜냐하면 권한이 필요하지 않기 때문입니다.

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

watchAccuracy

정확도 확인

compass 정확도 모니터링을 시작합니다. Android에서 이 메서드는 자이로 센서 정확도 모니터링을 시작하고 정확도 변경 이벤트를 발생시킵니다. 개발자들은 이 이벤트를 듣고 자신의 UI를 구현하여 캘리브레이션 프롬프트를 표시할 수 있습니다. iOS와 Web에서 이 메서드는 아무것도 하지 않습니다. 왜냐하면 compass 정확도 모니터링이 지원되지 않기 때문입니다.

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

__CAPGO_KEEP_0__를 중단합니다. 이것은 정확도 모니터링을 중단합니다.

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

현재 지구磁気의 정확도 수준을 가져옵니다. 안드로이드에서는 현재 자이로 센서의 정확도를 반환합니다. iOS와 Web에서는 항상 CompassAccuracy.UNKNOWN을 반환합니다. 왜냐하면 정확도 모니터링이 사용할 수 없기 때문입니다.

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

CompassHeading

CompassHeading 제목

지구磁気의 방향 값을 포함하는 결과.

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

ListeningOptions

ListeningOptions 제목

지구磁기 수신을 구성하는 옵션.

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

__CAPGO_KEEP_1__

__CAPGO_KEEP_2__

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

AccuracyChangeEvent

__CAPGO_KEEP_1__

__CAPGO_KEEP_3__

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

PermissionStatus

__CAPGO_KEEP_4__

__CAPGO_KEEP_5__

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

__CAPGO_KEEP_6__

__CAPGO_KEEP_7__

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.tsAPI이 업스트림에서 변경될 때마다 pubic을 다시 동기화하세요.

Getting Started에서 계속

Getting Started에서 계속 섹션

Capgo를 사용 중이라면 Getting Started API를 위한 대시보드와 API 운영을 계획하고 연결하세요. @capgo/capacitor-compass를 사용하여 @capgo/capacitor-compass를 사용하여 Native 기능을 사용하세요. API 개요 API 개요에서 구현 세부 정보를 참조하세요. 소개 소개에서 구현 세부 정보를 참조하세요. API 키 API 키에서 구현 세부 정보를 참조하세요. 그리고 기기 기기에서 구현 세부 정보를 참조하세요.