본문 바로가기

Dev/Android

[Android] 구글맵 api 사용하기


[Android] 구글맵 api 사용하기




구글맵 api 사용하는 법을 정리해 보도록 하겠습니다!! (사실 이번 포스팅엔 Google Maps API Key 를 받는방법만..)

일단 본론으로 넘어가기 전에 조금의 고찰을 해봅시다.

Q. 구글맵 API 를 사용하려면?
A. Google Map API Key 를 먼저 발급 받아야 됩니다. 테스트용과 릴리즈 용이 있습니다. 

Q. 왜 꼭 Key를 받아야 합니까?
A. Key는 말 그대로 어떤 문을 통과하기 위한 열쇠입니다. 지도 API와 같은 서비스의 경우 서버부화를 일으킬수 있는 원인이 됨으로, Google을 포함한 지도 API를 제공하는 업계는 '인증'이라는 과정을 통해 Key를 발급해 줍니다. 이로써 문(서비스)을 통과(사용)하는 사용자를 통제 하기 편해 지고, 마구잡이식의 Test user에 대한 1차 방패를 만들수 있습니다.

Q. Key를 받는 방법은 무엇입니까?
A. 이제 포스팅 시작 하겠습니다...



# Google Map API Key 발급받기

Google API Key를 발급받는 과정은 아래와 같습니다.

1. java 시스템 변수('Path')를 설정한다.
2. 인증서 지문(= Finger print)를 얻는다. 
3. 인증서 지문을 가지고 Google Map Web Site에서 Google Map API Key를 받는다 :)

그럼 한번 자세히 짚고 가보겠습니다.

1) java 시스템 변수('Path')를 설정한다.
 

- 일단 window키 + Pause Break('Scroll Lock 옆에있는 키')를 눌러주면 아래와 같은 창이 뜹니다.


 
 
 그러면 왼쪽에서 4번째 고급 시스템 설정을 클릭합니다.


요기서 환경변수를 클릭합니다.

 

 그 후에 위 스샷과  같이 시스템 변수의 Path의 변수값 마지막 부분에 ;(세미콜론)과 java.exe 의 경로를 넣어주고 
확인을 누릅니다! 환경 변수의 경우 재부팅후 부터 적용되기 때문에 재부팅을 합니다. 


2) 인증서 지문(이하 Finger print)를 얻는다. 
 

환경변수 설정이 끝나면 이제 본격적인 내 컴퓨터의 지문?! 얻는 과정을 알아봅시다. Window키 + R키 를 누르면 실행창이 뜹니다. 거기서 'cmd'라 치고 엔터를 누르면 커맨드 창이 뜹니다. 그러나 여기서 바로 명령을 내리는 당신은 욕심쟁이 우후훗!

우리는 우리의 지문이 있는곳으로 찾아가야 합니다. 지문을 찾아서?! 지문을 알려주는 녀석은  c:\Documents and Settings\[사용자 계정명]\.android 라는 폴더안에  debug.keystore라는 녀석입니다. 그럼 실제로 커맨드 창을 써보면 아래와 같습니다. 참고로 저의 계정명은 twoday 입니다.


그럼 콘솔 root가 c:\Documents and Settings\twoday\.android> 로 변한걸 볼수 있습니다! 해당 디렉토리 안에 debug.keystore 라는 녀석도 있군요. 

자 이제 주문?! 만 외치면 내 컴퓨터의 지문을 얻을수 있습니다. (
꼭 콘솔root 를 위와 같이 변경한후 명령어를 씁니다.)
그 주문은 바로

keytool -list -alias androiddebugkey -keystore debug.keystore -storepass android -keypass andorid

입니다.


그럼 드디어 지문이 나옵니다. Ex) 
94:1E:43:49:87:73:BB:E6:A6:88:D7:20:F1:8E:B5:98

이것을 가지고 Google Maps API 를 얻어 봅시다. 링크로 이동해 봅시다.

Google Maps API 주소  

해당 웹페이지 하단에 지문을 넣는 공간이 있습니다. 그곳에 해당 지문을 입력합니다. 


체크박스를 체크하고 Generate API Key를 얻으면 최상단에 사용자키 라는 글과 함께 Key를 부여받게 됩니다 :)


이것으로써 Google Maps API를 안드로이드 앱에 사용하기 위한 준비가 끝났습니다!  실제적으로 API를 사용한 앱 만들기는 다음 포스팅으로 대체 하겠습니다.