Skip to main content
@capgo/capacitor-compass 위치 오픈 소스

컴패스 Capacitor 플러그인

도구를 사용하여 기기 컴패스 헤딩을 읽어 0도 단위로 지속적으로 업데이트하고 권한 처리를 합니다.

설치

bun add @capgo/capacitor-compass bunx cap sync
npm, pnpm 또는 yarn
  • npm install @capgo/capacitor-compass
  • pnpm add @capgo/capacitor-compass
  • yarn add @capgo/capacitor-compass

가이드

How to use Compass in Capacitor

장치 테스트

Capgo 앱을 다운로드한 후 QR code을 스캔하세요.

Compass 플러그인 미리보기 QR code

@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의 구현 세부 정보

FAQ

Compass 플러그인 FAQ

Compass 플러그인을 Capacitor 앱에 설치하는 방법은 무엇입니까?

bun에 &quot;capgo add @capacitor/npm-compass&quot; (또는 &quot;capgo install @capacitor/code-compass&quot;)를 실행한 후 &quot;bunx cap sync&quot;를 실행하여 iOS 및 Android 프로젝트가 네이티브 capgo를 인식하도록 하세요. Compass를 &quot;@capacitor/code-compass&quot;에서 가져와 __CAPGO_KEEP_10__ 앱에 import하세요.

@capgo/capacitor-compass는 React, Vue 및 Angular과 함께 작동합니까?

예. Compass는 Capacitor 패키지이므로 Ionic, React, Vue, Angular, Svelte 및 plain JavaScript와 같은 웹 프레임워크가 Capacitor 내부에서 작동하는 경우에 작동합니다.

Which Capacitor version does @capgo/capacitor-compass support?

Capgo plugins follow Capacitor&#39;s major version: use the plugin major version that matches your Capacitor major version (for example plugin v8 with Capacitor 8). The compatibility table in the GitHub README lists the maintained versions.

@capgo/capacitor-compass는 무료이며 오픈 소스입니까?

Yes. The source code is public on GitHub at https://github.com/Cap-go/capacitor-compass/ and the package is free to install from npm. Bug reports and pull requests are welcome.

Compass를 사용하는 code를 App Store 리뷰 없이 업데이트할 수 있나요?

플러그인을 설치하거나 업그레이드하면 네이티브 code이 변경되므로 새로운 스토어 빌드를 필요로 합니다. 그 후에 JavaScript, HTML 및 CSS 변경 사항이 플러그인을 호출하는 경우 Capgo Live Update를 통해 즉시 배포할 수 있습니다.

앱 리뷰 기다리지 않고 Compass 변경을 배포하세요

플러그인이 스토어 빌드에 포함된 후, Capgo 라이브 업데이트 사용자에게 JavaScript, HTML 및 CSS 변경을 몇 분 안에 푸시합니다.

Capgo으로 시작하세요