Android SDK 1.0 에서 MapView를 사용하려면 구글맵을 사용하려면 API KEY를 넣어야 맵타일을 정상적으로 받아옵니다. Google Map을 쓰는데 지도가 로드되지 않고 빈화면으로 남아있다면 참고하시기 바랍니다.  대부분의 경우 초반 작업은 에뮬레이터에서 어플리케이션 작업을 시작하시기 때문에 에뮬에서 구글맵을 정상적으로 동작시키는 법을 알아보겠습니다.

먼저 Key를 발행받기 위해서 다른 MD5 값을 생성시켜야 합니다.

1.1 SDK

  • Windows Vista: C:\Users\<user>\AppData\Local\Android\debug.keystore
  • Windows XP: C:\Documents and Settings\[user]\Local Settings\Application Data\Android\debug.keystore
  • OS X and Linux: ~/.android/debug.keystore

1.5 SDK

  • Windows Vista: C:\Users\<user>\.android\debug.keystore
  • Windows XP: C:\Documents and Settings\[user]\.android\debug.keystore

에 debug.keystore가 있는지 확인해보시구요. SDK를 설치해서 개발하시고 계셨다면 생성되 있을겁니다. Eclipse/ADT를 사용하신다면 debug.keystore가 있는 위치를  Windows > Prefs > Android > Build 에서 확인하실 수 있습니다.


$ keytool -list -alias androiddebugkey -keystore [path_to_debug_keystore].keystore -storepass android -keypass android


와 같이 실행시키면 MD5 Fingerprint값이 생성됩니다.

! 윈도우 환경에서는 직접 key가 있는 디렉토리로 이동해서 명령을 실행해야 되는 경우가 있다고 합니다. 혹은 keystore를 keytoolㄷ렉토리로 카피해서 하면 잘된다는 의견도 있으니 참고하시기 바랍니다.

! keytool은 Java SDK에 포함되어있는 tool입니다. Java SDK의 bin 디렉토리를 Path로 설정해주어야 사용할 수 있습니다. 


위에서 생성한 MD5 fingerprint값을

http://code.google.com/android/maps-api-signup.html

사이트에 방문하셔서 값을 넣으시면 Map API KEY가 생성됩니다.(구글계정이 있어야 합니다) 그리고 MapView LayoutFile에서 apiKey값을 넣어주시면 맵타일이 정상적으로 로드 되는 것을 볼 수 있습니다.

<com.google.android.maps.MapView
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:enabled="true"
  android:clickable="true"
  android:apiKey="Maps_ApiKey_String"
 />


 

관련링크 : http://code.google.com/android/add-ons/google-apis/mapkey.html#getfingerprint

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이선스에 따라 이용하실 수 있습니다.  출처 : http://www.androidpub.com/1070 작성자 : 회색(박성서)