@capgo/capacitor-compass를 사용하세요
Capacitor Compass 플러그인은 장치의 Compass 방향을 읽기 위해 사용됩니다.
설치
bun add @capgo/capacitor-compass
bunx cap sync
bunx cap sync 이 플러그인의 네이티브 code을 원시 프로젝트에 복사합니다. 플러그인 업그레이드 후 다시 실행하세요.
Import
import { CapgoCompass } from '@capgo/capacitor-compass';
API을 한눈에
| Method | 설명 |
|---|---|
getCurrentHeading |
현재 지구磁기 방향을 도 단위로 가져옵니다. iOS에서는 지구磁기 방향이 자동으로 업데이트되고, 최신 값을 반환합니다. Android에서는 메서드가 호출될 때 가속도계 및 자이로 센서를 사용하여 지구磁기 방향을 계산합니다. 웹에서는 구현되지 않았습니다. |
startListening |
지구磁기 방향이 변경될 때 이벤트를 통해 지구磁기 방향을 수신합니다. 지구磁기 센서를 시작하고 'headingChange' 이벤트를 방출합니다. |
stopListening |
지구磁기 방향의 변경을 수신하는 것을 중단합니다. 지구磁기 센서를 중단하고 이벤트를 방출하지 않습니다. |
checkPermissions |
현재 지구磁기 데이터 접근 권한 상태를 확인합니다. iOS에서는 위치 권한 상태를 확인합니다. Android에서는 항상 'granted'을 반환합니다. |
requestPermissions |
지구磁기 데이터 접근 권한을 요청합니다. iOS에서는 지구磁기 데이터 접근을 위한 위치 권한을 요청합니다. Android에서는 권한이 필요하지 않기 때문에 즉시 해결됩니다. |
watchAccuracy |
지구磁기 정확도 모니터링을 시작합니다. Android에서는 자이로 센서의 정확도를 모니터링하고 정확도 변경 이벤트를 방출합니다. 개발자는 이러한 이벤트를 듣고 자이로 센서의 캘리브레이션을 위한 UI를 implement할 수 있습니다. iOS와 웹에서는 지구磁기 정확도 모니터링이 지원되지 않습니다. |
unwatchAccuracy |
지구磁기 정확도 모니터링을 중단합니다. 정확도 모니터링을 중단합니다. |
getAccuracy |
현재 컴패스 정확도 수준을 가져옵니다. 안드로이드에서는 현재 자이로 센서 정확도를 반환하고, iOS 및 Web에서는 항상 CompassAccuracy.UNKNOWN을 반환합니다. |
예시
getCurrentHeading()
현재 컴패스 방향을 가져옵니다. iOS에서는 백그라운드에서 업데이트 된 값을 반환하고, 안드로이드에서는 메소드가 호출 될 때 가속도 및 자이로 센서를 사용하여 방향을 계산합니다. Web에서는 구현되지 않습니다.
import { CapgoCompass } from '@capgo/capacitor-compass';
const { value } = await CapgoCompass.getCurrentHeading();
console.log('Compass heading:', value, 'degrees');
startListening()
컴패스 방향이 변경될 때 이벤트를 통해 듣기 시작합니다. 컴패스 센서를 시작하고 '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()
컴패스 방향이 변경될 때 이벤트를 듣는 것을 중지합니다. 컴패스 센서를 중지하고 이벤트 방출을 중지합니다.
import { CapgoCompass } from '@capgo/capacitor-compass';
await CapgoCompass.stopListening();
checkPermissions()
컴패스 데이터에 대한 현재 권한 상태를 확인합니다. iOS에서는 위치 권한 상태를 확인하고, 안드로이드에서는 항상 'granted'을 반환합니다.
import { CapgoCompass } from '@capgo/capacitor-compass';
const status = await CapgoCompass.checkPermissions();
console.log('Compass permission:', status.compass);
requestPermissions()
컴패스 데이터에 대한 권한을 요청합니다. iOS에서는 위치 권한을 요청합니다(헤딩 데이터를 위해 필요)하고, 안드로이드에서는 즉시 해결됩니다.
import { CapgoCompass } from '@capgo/capacitor-compass';
const status = await CapgoCompass.requestPermissions();
if (status.compass === 'granted') {
// Can now use compass
}
watchAccuracy()
컴패스 정확도 모니터링을 시작합니다. 안드로이드에서는 자이로 센서 정확도를 모니터링하고 정확도 변경 이벤트를 방출합니다. 개발자는 이러한 이벤트를 듣고 캘리브레이션 프롬프트 UI를 implement할 수 있습니다. iOS 및 Web에서는 컴패스 정확도 모니터링이 지원되지 않습니다.
import { CapgoCompass, CompassAccuracy } 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
}
});
이 표는 8 개의 핵심 메서드를 나열합니다. 리스너 및 버전 도우미, 각 메서드의 전체 계약은 아래에 설명되어 있습니다. GitHub 저장소.
이벤트를 감지하세요
addListener handle을 반환합니다. 화면이 언마운트되면 또는 모든 리스너를 삭제하려면 handle.remove() clear를 호출하세요. CapgoCompass.removeAllListeners() Full reference
문서
@capgo/capacitor-compass를 계속 사용하세요
__CAPGO_KEEP_0__ Capacitor-compass를 사용하여 @capgo/capacitor-compass 대시보드와 @API/__CAPGO_KEEP_1__-compass를 연결하는 데 사용 @capgo/capacitor-compass for the implementation detail in @capgo/capacitor-compass, Getting Started Getting Started의 구현 세부 정보 API 개요 API Overview의 구현 세부 정보 Introduction Introduction의 구현 세부 정보, API 키 API Keys의 구현 세부 정보