안드로이드 SDK Sample 중에 ApiDemo나 MapsDemo를 보면 MapView라는 항목이 있다.
실행 시켜보면 이런 이미지가 뜰 것이다...
이처럼 MapView에서 지도가 보이지 않는 이유는 apikey를 입력하지 않았기 때문이다.
MapsDemo 에서 /res/layout/mapview.xml 파일을 열어보자.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/main"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<com.google.android.maps.MapView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:enabled="true"
android:clickable="true"
android:apiKey="apisamples"
/>
</LinearLayout>
android:id="@+id/main"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<com.google.android.maps.MapView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:enabled="true"
android:clickable="true"
android:apiKey="apisamples"
/>
</LinearLayout>
MapView의 android:apiKey 속성 값이 "apisamples"로 되어 있는 것을 볼 수 있다.
이곳에 구글에서 발급받은 apiKey를 입력해주어야만 정상적으로 지도를 확인할 수가 있다.
그러면 apiKey 발급 받는 방법을 알아보도록 하자.
1. $JAVA_HOME/bin 이 $PATH에 포함되어 있는지 확인한다.
2. debug.keystore 파일이 있는 위치로 간다.
Windows7 => C:\Users\{사용자명}\.android\
Linux => ~/.android/
Linux => ~/.android/
3. debug.keystore 파일이 있는 위치에서 아래의 명령어를 실행한다.
keytool -list -keystore debug.keystore
암호를 물어보면 그냥 엔터를 친다.
그러면 아래 이미지와 같이 인증서 지문(FingerPrint)를 얻을 수가 있다.
4. 아래의 주소에 방문하여 사용 동의 항목에 체크하고 발급받은 인증서 지문을 입력한다.
http://code.google.com/intl/ko/android/add-ons/google-apis/mapkey.html
5. 구글 계정으로 로그인 된 상태가 아니라면 로그인 해준다.
6. Android Map API Key를 확인한다.
이제 발급받은 API Key를 /res/layout/mapview.xml 파일에 입력하여 다시 MapsDemo를 실행하여 보자.
아래와 같이 정상적으로 지도가 보이는 것을 확인할 수 있을 것이다.