expo location

autoT·2023년 11월 6일

expo location

react native에서 내 위치의 좌표를 알고싶다. react-geolocation을 사용하려고 했는데 expo로할때는 따로 있다는걸 알았다.

설치

expo install expo-location

선언은 요로코롬 해주면된다.

import * as Location from 'expo-location';

권한 요청하기

 await Location.requestForegroundPermissionsAsync() 권한 요청
  const handleMyLocation = async () => {
    try {
      let { status } = await Location.requestForegroundPermissionsAsync()
      console.log(status)
      if (status !== 'granted') {
        console.log('Permission to access location was denied')
        return
      }
      navigation.navigate('myLocationMap')
    } catch (error) {
      console.error('현재 위치를 가져오는 중 오류 발생:', error)
    }
  }

권한 요청을 해주면된다.위를 작동시키면 어플에서 expo 권한 요청이 나오게 되고, 권한 요청을 받으면 그 이후부터는 내 위치를 잡을수 있게된다. granted는 거부했냐 허용했냐를 판별하는 변수로 granted가 없다면 허용되지 않는경우인것.

위치 정보 가져오기

  const getLocation = async () => {
    try {
 

      //현재 위치 정보 얻기 -> 시스템 location
      const locationData = awaitLocation.getCurrentPositionAsync()
      const latitude = locationData['coords']['latitude'] // 위도 가져오기
      const longitude = locationData['coords']['longitude'] // 경도 가져오기
      const location = await Location.reverseGeocodeAsync({latitude, longitude}, {useGoogleMaps: false});//경도와 위도로 location 도시명등을 가져온다
      return
    } catch (error) {
      console.error(error)

    }
  }
  ``` js

위도와 경도를 가져올수 있게된다. 만약 허용을 한상황이고 gps가 켜져있다면 내위치가 찍힐것이다. reverserGeo를 이용해 내가 어디에있는지 대략적으로 알수있게해준다.

출처: https://ohrora-developer.tistory.com/10

0개의 댓글