기술해록본

Chapter 13 : Project 오늘도 출첵 본문

Develop/Flutter

Chapter 13 : Project 오늘도 출첵

HaeYoung_12 2024. 8. 13. 18:42

1. 사전지식

1) Geolocator 플러그인

  • 지리와 관련된 기능을 쉽게 사용할 수 있는 플러그인

위치 서비스 권한 확인 받기

  • isLocationServiceEnabled() 함수 사용
  • boolean 값으로 활성화 되어 있으면, true, 아니면 false 반환
final isLocationEnabled= await Geolocator.isLocationServiceEnabled();
  • 1.2.함수 둘다 LocationPermission enum을 반환함.
final checkedPermission=await Geolocator.checkPermission(); // 1. 권한 확인
final checkedPerssion= await Geolocator.requestPermission(); //2. 권한 요청

 

  • LocationPermission 반환값
LocationPermission 설명
denied 거절상태, 기본적으로 반환되는 상태. requsetPermission() 함수를 이용해 다시 권한 요청가능
deniedForever 완전히 거절되는 상태, requsetPermission() 함수 실행 안됨. 직접 기기 설정 화면에서 사용자가 직접 권한을 허가해야함.
whileUse 앱이 사용중일때만 허가된 권한
always 100% 허가 상태
unableToDetermine 알수 없음. 권한 요청이 불가한 특정 인터넷 브라우저에서 반환되는 값으로 앱에서는 해당사항 없음.

현재 위치 지속적으로 반환 받기

  • getPositionStream()함수를 사용하면 현재 위치가 변경될때마다 현재 위칫값을 Position 클래스 형태로 주기적으로 반환받을 수 있음.
Geolocator.getPositionStream().listen((Position position)){
print(position);
});
  • Position 클래스 주요 속성
속성 설명
longitude 경도
latitude 위도
timestamp 위치가 확인된 날짜 및 시간
accuracy 위치 정확도
speed 이동 속도
speedAccuracy 이동 속도 정확도

 

두 위치간의 거리 구하기

  • distanceBetween() 함수를 사용하면 두 위치 간의 거리를 미터 단위로 반환받음.
// 두 위치 간의 거리응 double 값으로 반환
final distance=Geolocator.distanceBetween(
    시작점위도,
    시작점경도,
    끝지점위도,
    끝지점경도,
);

 

2. 코딩 진행 사진

'Develop > Flutter' 카테고리의 다른 글

다트 비동기 프로그램  (0) 2024.08.19
다트 객체 지향 프로그램  (0) 2024.08.19
다트 객체지향 프로그램  (0) 2024.08.13
다트 함수 (4)  (0) 2024.08.13
다트문법 (3)  (0) 2024.08.13