본문 바로가기
버킷리스트/앱 만들기

오공완(with 코드팩토리의 플러터 프로그래밍) #13 (오늘도 출첵)

by 또또도전 2024. 8. 6.
반응형

// 이곳에 쓴 내용은 앱 만들기라는 버킷리스트를 달성하기 위해 플러터를 공부하면서 정리하고 있는 내용입니다.

플러터에 대해 아는 것이 거의 없기 때문에 정리하면서 오류가 있을 수 있습니다.

오류를 발견하신 분은 댓글 남겨 주시면 감사하겠습니다.

 

새로운 개념들: Geolocator, 구글지도 API, Footer, 마커, 반경표시, 현재 위치 표시, 출근하기 기능

 

  사전준비

 

1. 구글 지도 API 키 발급받기

  - 구글 클라우드 플랫폼 회원가입

  - 새 프로젝트-google maps platform-API-maps SDK for Android, Maps SDK for iOS(enalbe(사용))

  - 키 사용자 인증 정보-사용자 인증 정보 만들기-API 키-API 키 생성 완료 키 복사

 

2. pubspec.yaml 설정

3. 네이티브 코드 설정

android/app/build.gradle
""안에 구글 지도 API 키 넣기

 

4. 프로젝트 준비하기

 

  구현하기

 

1. 앱바 구현하기

2. Body 구현하기

3. Footer 구현하기

앱바와 바디, footer까지 만들었는데 중간에 지도는 나오지 않는다. 뭐가 잘못됐을까..또, 책에서는 앱바에 현재 위치를 찾는 아이콘도 있는데 여기에서는 나오지 않았다. 코드에도 못찾겠다.

 

4. 위치 권한 관리하기

위치 권한을 달라는 메시지가 뜬다. 허용을 해도 아직은 맵이 안 뜬다. 에뮬이 잘못되어 있던지 코드가 잘못되어 있겠지.

 

5. 화면에 마커 그리기

6. 현재 위치 반경 표시하기

7. 현재 위치 지도에 표시하기

8. 출근하기 기능 구현하기

 

스마트폰으로 옮겨봐도 지도가 안 나온다. 아마도 내 키가 문제 있거나 어떤 코드를 없애 먹었나 보다.

맵이 안보이다 보니 마커와 현재 위치 등도 보이지 않는다.

 

 

다른 책이랑 비교해서 맵을 나오게 하는 방법을 강구해 봐야겠다.

오늘 공부는 여기까지~^^;;

 

<추가 기능>

LocationPermission 반환값

  - denied: 거절상태

  - deniedForever: 완전히 거절 상태, 기기 설정 화면에서 사용자가 직접 권한을 허가해줘야 함.

  - whileInUse: 앱 사용 중 허가 상태

  - always: 항상 허가 상태

  - unableToDetermine: 알 수 없음. 특정 인터넷 브라우저에 반환되는 값. 앱 상관없음

 

Position 클래스 주요 속성

  - longitude: 경도

  - latitude: 위도

  - timestamp: 위치가 확인된 날짜 및 시간

  - accuracy: 위치 정확도

  - speed: 이동 속도

  - speedAccuracy: 이동 속도 정확도.

 

반응형