가이드
compass에 대한 튜토리얼
Using @capgo/capacitor-compass
Capacitor Compass 플러그인: 기기의 Compass 방향을 읽는 인터페이스
설치
bun add @capgo/capacitor-compass
bunx cap sync
이 플러그인이 노출하는 것
getCurrentHeading- 기기의 Compass 방향을 현재도구로 반환합니다. iOS에서는 배경에서 Compass 방향을 업데이트하고, 최신 값을 반환합니다. Android에서는 Compass 방향을 계산할 때 가속도계 및 자이로 센서를 사용합니다. 웹에서는 구현되지 않았습니다.startListening- Compass 방향이 변경될 때 이벤트를 통해 Compass 방향을 시작합니다. 이 작업은 Compass 센서를 시작하고, 'headingChange' 이벤트를 방출합니다.stopListening- Compass 방향이 변경될 때 이벤트를 더 이상 시작하지 않습니다. 이 작업은 Compass 센서를 중단하고, 이벤트 방출을 중단합니다.checkPermissions- 현재 Compass 데이터에 대한 접근 권한 상태를 확인합니다. iOS에서는 위치 권한 상태를 확인하고 Android에서는 항상 '허용됨'을 반환합니다.
예시 사용
getCurrentHeading
현재 Compass 방향을 얻습니다. iOS에서는 방향이 업데이트 되며 최신 값을 반환합니다. Android에서는 방향을 계산할 때 가속도계 및 자이로 센서를 사용합니다. 웹에서는 구현되지 않았습니다.
import { CapgoCompass } from '@capgo/capacitor-compass';
const { value } = await CapgoCompass.getCurrentHeading();
console.log('Compass heading:', value, 'degrees');
startListening
Compass 방향이 변경될 때 이벤트를 통해 듣기 시작합니다. Compass 센서를 시작하고 '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);
});
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);
전체 참조
- GitHub: https://github.com/Cap-go/capacitor-compass/
- 문서: /docs/plugins/compass/