React Nativ Geolocation

오영일·2024년 6월 2일

ReactNative

목록 보기
8/9

https://github.com/michalchudziak/react-native-geolocation

1. Geolocation 설치

  1. yarn add @react-native-community/geolocation
  2. npx pod-install ios
  3. android/app/src/main/AndroidManifest.xml경로에
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

코드 추가하기

2. Geolocation 모듈

Geolocation 모듈은 위치 정보를 가져오기 위한 여러 메소드를 제공합니다. 주로 사용되는 메소드는 다음과 같습니다:

getCurrentPosition(successCallback, errorCallback, options): 현재 위치를 한 번 가져오는 메소드입니다.

watchPosition(successCallback, errorCallback, options): 위치 변화를 지속적으로 감지하여 콜백 함수를 호출하는 메소드입니다.

clearWatch(watchID): watchPosition 메소드로 설정한 위치 감지를 중단하는 메소드입니다.

Geolocation.getCurrentPosition 함수

이 함수는 세 가지 인자를 받습니다:

1.	첫 번째 함수 (info => { … }):
	• 이 함수는 위치 정보가 성공적으로 획득되었을 때 호출됩니다.
	• info.coords에서 latitude와 longitude를 가져올 수 있습니다

2.	두 번째 함수 (() => { … }):
	• 이 함수는 위치 정보를 얻는 데 실패했을 때 호출됩니다.

3.	세 번째 인자 (옵션 객체):
	• 이 객체는 위치 요청 시의 옵션을 설정합니다.
	• enableHighAccuracy: true는 높은 정확도의 위치 정보를 요청하는 옵션입니다. 
    이를 설정하면 GPS를 사용하여 보다 정확한 위치를 얻으려 하지만, 배터리 소모가 더 클 수 있습니다.
    

주요 옵션 설명

• enableHighAccuracy: (boolean) 정확한 위치 정보를 요청합니다. 정확도가 높을수록 배터리 소모가 큽니다.
• timeout: (number) 위치 정보를 가져오는 데 허용되는 최대 시간(밀리초)입니다.
• maximumAge: (number) 캐시된 위치 정보를 허용하는 최대 시간(밀리초)입니다.

Geolocation.watchPosition 함수

주요 옵션 설명

• enableHighAccuracy: 높은 정확도의 위치 정보를 요청합니다. GPS를 사용하여 더 정확한 위치를 제공합니다.
• distanceFilter: 위치 변경을 알리는 최소 거리(미터 단위)를 설정합니다. 
예를 들어, distanceFilter: 10으로 설정하면 사용자가 10미터 이상 이동했을 때만 콜백 함수가 호출됩니다.
• timeout: 위치 정보를 가져오는 데 허용되는 최대 시간(밀리초)입니다.
• maximumAge: 캐시된 위치 정보를 허용하는 최대 시간(밀리초)입니다.
profile
ISurrender

0개의 댓글