티스토리 뷰
expo는 리액트 네이티브를 개발을 지원하는 강력한 오픈 소스 플랫폼이다.
리액트 네이티브보다 더 많고 간편한 API들을 지원하니 적절하게 설치해서 가져다 쓰면 개발이 편해진다.
expo-location은 그것의 일종으로, 리액트 네이티브의 geolocation보다 다양한 기능을 지원하는 API이다.
사용을 위해선 설치하고 import 해주어야 한다.
expo install expo-loacation
import * as Location from "expo-location"
레퍼런스를 보면 다양한 기능을 지원한다.
그중에서 날씨앱에 활용하는 것은 두 가지 정도가 있다.
(1) 위치정보 사용하도록 사용자에게 허가 받기 - Location.requestPermissionsAsync()
Location.requestPermissionsAsync()
이 함수를 호출하면 앱 내에서 사용자에게 위치사용에 대한 허가를 요청한다.
요청을 허가할 경우 Location.getCurrentPositionAsync() 으로 사용자의 gps정보를 받아올 수 있게 된다.
요청을 거절할 경우 자바스크립트 에러를 발생시킨다.
그래서 Location.requestPermissionsAsync() 는 try-catch문과 함께 사용한다.
+ 뒤에 붙은 Async를 보면 예상할 수 있겠지만 비동기처리를 해주어야 한다(사용자가 언제 허가를 할지 모르니)
(2) 허가받은 뒤 사용자 위치정보 받아오기
const {coords} = await Location.getCurrentPositionAsync()
역시 Async가 붙었으니 비동기처리를 해주어야 한다.
이 함수는 호출하면 사용자의 위치를 프로미스로 반환한다.
받아오는 정보는 위도, 경도, 속도 등이 있는데 날씨 api와 연계할 때는 latitude(위도), longitude(경도)만을 사용할 예정이다.
expo-location의 레퍼런스주소는 다음과 같다.
'React Native' 카테고리의 다른 글
React Native 앱 재시작하기 (react-native-restart, expo-updates) (0) | 2020.11.06 |
---|---|
React Native 사용하는 라이브러리 (0) | 2020.07.08 |
React Native 날씨앱 - (4) API로 날씨 정보 받아오기 (0) | 2020.07.04 |
React Native 날씨앱 - (2) View, Text, StyleSheet (0) | 2020.07.04 |
React Native 날씨앱 - (1) expo로 프로젝트 만들기 (0) | 2020.07.04 |
- Total
- Today
- Yesterday
- 데일리
- 출석하냥
- docker
- dockerfile
- 간단정리
- iOS #코코아터치
- 도커
- 카카오인턴십
- docker-compose
- 왕국타이머
- 게이밍모니터
- 144hz모니터
- 소프트웨어마에스트로11기
- 평면모니터
- Swift
- ES6
- 암기빵
- 사이드 프로젝트
- 코코아터치
- tensorflow
- 개인정보처리방침
- docker image
- ios
- React Native
- 앱출시
- 제발태그그만
- 도커 이미지
- QHD모니터
- 한성모니터
- docker tag
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |