본문 바로가기

안드로이드 프로그래밍/kotlin

[Kotlin] 구글 지도 API 어플 만들기 (Google Maps API 받아오기, 지도 앱 만들기)

🌈구글 지도 데이터를 기반으로 사용하는 Google Maps API 의 사용 방법을  알아보자.


1. 구글 지도 앱 만들기 실습

2. 구글 지도 코드 살펴보기



 

 

잠깐! 

 

📌 API (Application Programming Interface) 란? 

응용 프로그래밍 인터페이스, 응용 프로그램에서 운영체제나 다른 프로그래밍 언어 등에서 제공하는 기능을 제어할 수 있는 인터페이스 이다.

좀 더 쉽게 설명하면, API 는 프로그램 간의 상호작용을 도와주는 역할을 하며 보통 API를 통해 데이터를 주고받는다.

 

 

 

 

📌 구글 플레이 서비스의 Google Maps API 를 사용하면 구글 지도 데이터를 기반으로 앱에 지도를 추가할 수 있다.

구글 지도는 Google Maps Platform 서비스 중 하나이며 교통정보 기반의 경로 찾기와 장소 정보, 검색 등의 기능을 제공한다. (⚠국내에서는 구글 지도의 경로 찾기 메뉴 중 버스만 사용 가능)

 



 

 

 

 

 

1. 구글 지도 만들기 실습

안드로이드 스튜디오는 구글 지도를 쉽게 사용할 수 있도록 프로젝트 생성 시 프로젝트의 종류를 선택하는 메뉴에서 Google Maps Activity 를 제공한다.

 

 

 

 

 

 

 

 

 

📕 구글 플레이 서비스 SDK 설치하기


Google Maps API 를 사용하려면 구글 플레이 서비스 SDK 를 설치해야 한다.

구글 플레이 서비스를 구글 로그인, 지도, 파이어베이스 등의 서비스와 구글 앱 업데이트 기능이 포함된다.

 

 

1️⃣ [Tools] - [SDK Manager] 클릭

 

2️⃣ [SDK Tools] 탭을 클릭하면 안드로이드 개발에 필요한 SDK를 설치할 수 있다.

Google Play services 가 [Not installed] 상태이면 체크박스에 체크한 후 [OK]를 클릭한다.

 

3️⃣ 설치진행

 

 

 

 

 

 

 

 

📕 Google Maps Activity 로 시작하기


 

 

 

 

Google Maps API 키 받기

 

1️⃣ 구글 지도를 포함한 구글 플레이 서비스에 액세스하려면 구글 플레이 서비스의 API 키가 필요하다.

[Google Maps Activity] 로 프로젝트를 생성하면 API 키가 있는 google_maps_api.xml 파일이 자동으로 생성된다.

 

 

 

 

2️⃣ [app]-[res]-[values] 디렉터리에 있는 google_maps_api.xml 파일에서

"https://~" 로 시작하는 첫 번째 URL 을 복사해 웹 브라우저의 주소창에 붙여넣은 다음 이동한다.

(ctrl 키 누른 상태에서 마우스를 URL 클릭하면 새로 웹브라우저가 해당 주소로 열림)

 

 

 

 

3️⃣ 구글 계정이 있으면 해당 계정으로 로그인하고 계정이 없으면 가입 후 로그인한다.

 

 

 

 

 

4️⃣ 웹 브라우저에 Google Cloud Platform 콘솔 페이지가 열렸을 것이다.

API 키가 보인다. 복사 버튼으로 API 키를 복사한다.

5️⃣ google_maps_api.xml 파일의 <string name="google_maps_key"> 요소 'YOUR_KEY_HERE' 이라고 적힌 부분에 복사한 API 키를 붙여 넣는다.

 

 

 

 

 

6️⃣ 앱을 빌드해보자.

 

 

 

 

 

7️⃣ 마커가 표시된 지도를 표시한다.



 

 

 

2. 구글 지도 코드 살펴보기

구글 지도를 사용하려면 먼저 SupportMapFragment 에 대해 알고 있어야 한다.

 

 

 

📕 activity_maps.xml 의 SupportMapFragment


[app]-[res]-[layout] 에 있는 activity_maps.xml 파일을 더블클릭하고 [Code] 모드로 변경한다.

android:name 에 "com.google.android.gms.maps.SupportMapFragment" 가 설정되어 있다.

(Google Maps API 는 SupportMapFragment에 구글 지도를 표시한다.)

 

 

 

 

 

📕 MapsActivity.kt 의 SupportMapFragment.getMapAsync


MapsActivity.kt 파일을 열면 onCreate() 메서드 블록 안에서는 SupportFragmentManager 의 findFragmentById() 메서드로 id 가 map 인 SupportMapFragment 를 찾은 후 getMapAsync() 를 호출해서 안드로이드에 구글 지도를 그려달라는 요청을 한다. 

 

 

 

 

📕 MapsActivity.kt 의 onMapReadyCallback


안드로이드는 구글 지도가 준비되면 OnMapReadyCallback 인터페이스의 onMapReady() 메서드를 호출하면서 파라미터로 준비된 GoogleMap 을 전달 해준다.

메서드 안에서 미리 선언된 mMap 프로퍼티에 GoogleMap 을 저장해두면 액티비티 전체에서 맵을 사용할 수 있다.

 

구글에서 기본으로 제공하는 시드니 좌표이다. 

 

 

 


📛 getMapAsync() 메서드는 메인 스레드에서 호출해야 한다.

📛 스마트폰에 구글 플레이 서비스가 설치되어 있지 않다면 사용자가 구글 플레이 서비스를 설치할 때까지 onMapReady() 메서드가 호출되지 않는다.

 

 



 

 

안드로이드 스튜디오 에는 구글 지도를 쉽게 사용할 수 있도록

프로젝트 생성 시 종류 선택하는 메뉴가 있어서

보다 쉽고 빠르게 지도를 만들 수 있었다. 

 

728x90
반응형