구글 맵 사용하기(Google Maps Android API v2)
Posted on 2013. 8. 6. 15:10
Filed Under IT/안드로이드
핵심
1. google-play-services-lib 필요
2. 구글 지도를 사용하기 위한 api key 필요
간만에 구글 지도 사용하기에 대해서 적어 볼까 합니다.
작업하면서 느낀점은 이상하게 그냥 안될때가 있더라는점 입니다.
웹 상에 보시면 안될때 이것저것 하라고 하는게 몇가지 있던데 그래도 안되면 그냥 Google APIs에서 프로젝트를 새로 생성하거나 이클립스에서 프로젝트를 삭제하고 다시 만든 후에 코드를 붙여넣기로 넣어보세요.
저는 하루종일 뻘짓하다가 Google APIs에서 프로젝트 새로 생성해서 키 생성하니까 잘 되네요.
구글 지도 사용 순서는 웹상에 많으므로 간단히 정리하는 차원에서 적어봅니다.
1. Android SDK Manager를 통해서 Google Play services를 다운 받습니다.
2. 다운 받은 Google Play services를 워크스페이스로 가지고 와야 합니다.
이클립스에서 File > New > Other > Android Project from Existing Code 를 선택합니다.
아래의 경로를 선택해서 프로젝트를 가져옵니다.
3. Package Explorer에서 구글 지도를 사용할 프로젝트 이름에서 우클릭하여 Properties > Android를 선택합니다.
그러면 아래와 같이 아래쪽에 Library부분이 비어 있을 텐데요.
Add...버튼을 누르고
google-play-services_lib를 선택합니다.
짜잔... 위와 같이 나오면 1차 설정은 끝.
4. 이제 구글에서 API키를 발급 받아야 합니다.
먼저 google api console로 들어갑니다. 여기서 프로젝트를 따로 관리하실 분은 프로젝트명을 바꾸셔도 되구요.. 테스트니까 일단 그냥 ㄱㄱ
요렇게 Services로 들어갑니다. 프로젝트 이름은 모자이크...
서비스를 내리다보면 Google Maps Android API v2 항목이 있습니다. 이것을 체크해서 ON으로 설정합니다. 주의 사항은 Google Maps API 가 아니라는 점입니다.
체크를 했으면 다음 단계로...
이제 Google APIs에서 API Access 메뉴를 선택합니다.
그리고 아래쪽의 Create New Android Key버튼을 선택해서 키 생성 다이얼로그를 띄웁니다.
다이얼로그 하단에 예제가 있습니다. 사용중인 서명파일의 SHA1 인증키와 패키지 명을 이용해서 키를 생성하면 됩니다.
현재는 디버깅 모드에서 사용할 것이므로 디버그용 서명파일의 키를 이용합니다.
적다보니 할일이 참 많네요.
디버그용 서명파일의 키는 이클립스에서 Window > Preferences > Android > Build에서 확인할 수 있습니다. 아래의 이미지를 참고하세요.
(내용추가)
정식 인증서에서 인증서 지문(SHA1) 얻을때는 아래와 같이 넣어주면 됩니다.
위에서 얻은 키를 아래와 같이 SHA1키;패키지명 형식으로 넣습니다.
생성하면...
짜잔~ 이제 이렇게 키가 추가되었네요.
이제 사용만 하면 끝.
5. 쓰는 김에 사용법까지 올려야 겠네요.
내용은 별게 아닌데 무지 기네요. 성의 없이 대충 적고있습니다.
먼저 AndroidManifest.xml 파일에 권한과 키값을 적습니다.
먼저 권한입니다. 아래의 권한을 추가해 주세요. 위치는 application바깥쪽에 위치하게 하면 됩니다.
<permission
android:name="com.u_kids.permission.MAPS_RECEIVE"
android:protectionLevel="signature" />
<uses-permission android:name="com.u_kids.permission.MAPS_RECEIVE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />
두번째 키값을 넣습니다. 키값도 AndroidManifest.xml에 넣으면 됩니다.
application태그 사이에 요렇게 넣습니다.
4번 과정에서 마지막에 얻은 API Key입니다..
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="AIzaSyAoBXPGU_2ShfPingNFlQT-tYlBKIC9rPE" />
</application>
사용할 때는 fragment를 이용하면 간단하게 사용할 수 있습니다.
써놓고 정리를 좀 하려고 했는데 정리가 안되네요. 쓴지 좀 지났지만 이제라도 올려봅니다.
저도 시간이 지나니까 기억이 안나서 정리가 필요하네요.
GCM메시지 사용법도 올려야 하는데... 요즘 너무 바쁘네요.ㅠㅠ
'IT > 안드로이드' 카테고리의 다른 글
ADT업데이트 후 java.lang.NoClassDefFoundError에러 발생하는 문제 (0) | 2012.04.06 |
---|---|
안드로이드에서 static 변수의 사용 (0) | 2010.11.14 |
안드로이드 그라데이션(gradient) 각도별 생성 이미지 (0) | 2010.11.14 |
안드로이드의 android:layout_weight 속성 (2) | 2010.07.28 |