갤럭시S의 3G 연결 상태에서 맵뷰가 정상 동작 안될때

2010. 10. 6. 10:44안드로이드 개발

1. enabled 옵션 체크

MapView의 속성 중에 enabled를 true로 세팅해놓지 않으면, 갤럭리S에서 3G로 연결된 상태일 경우 지도 이미지가 표시되지 않는다. 모토로이와 같이 다른 안드로이드폰에서는 3G로 연결되어 있어도 정상적으로 표시되지만, 갤럭시S만 문제가 생긴다. 따라서, 반드시 enabled 속성을 true로 세팅해주는 것이 좋다.

<com.google.android.maps.MapView
  android:id = "@+id/map" 
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:enabled="true"
  android:clickable="true"
  android:apiKey="API키"
 />

2. 어플 배포용 keystore로 Android Map API 키 발급

안드로이드 마켓에서 어플을 배포하기 위해 만들어서 사용하는 keystore를 이용하여 Android Map API 키를 발급 받아서 사용해야 한다. 먼저 keytool을 이용하여 인증서 지문을 얻어낸다.

keytool -list -alias test -keystore test.keystore -storepass test -keypass test

인증서 지문(MD5)가 발급되면 이를 이용하여 다음 사이트에서 API 키를 발급 받는다.

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

다른 안드로이드폰은 디버그용 keystore를 이용하여 발급 받은 API 키를 사용했더라도 지도가 정상적으로 동작하지만, 갤럭시S는 배포시 사용하는 keystore용 API 키가 아니면 정상 동작이 되지 않는 것을 확인했다. 원칙적으로는 이것이 맞기는 하지만, 이 마저도 안드로이드폰 제조사마다 다른 결과를 보이니 원인을 찾는 것이 더 어려웠다.