AndroidでGoogle Mapを表示する(MapView)

位置情報を使ったアプリを作ろうと思い、勉強することにしました。
位置情報をほげほげという前に、AndroidGoogle Map関連のコードを書いたことがなかったので、まずはMapViewを使った地図表示からやってみました。
事前に、Maps APIキーの取得が必要です。

  1. Maps APIキーの取得
  2. ライブラリの設定(AndroidManifest.xmlの設定)
  3. 実装する

Maps APIキーの取得

今回はテスト用のAPIキーを取得するので、デバッグ用の証明書を使用しました。
まずは、以下のコマンドで証明書のフィンガープリントを取得します。
パスワードを聞かれますが、何も入力せずenterキーを押します。

$ keytool -list -keystore ./.android/debug.keystore

次にGoogle Maps APIのページで、取得したフィンガープリントを入力し、APIキーを取得します。

ライブラリの設定(AndroidManifest.xmlの設定)

MapViewはオプションのライブラリなので、使用するにはライブラリ宣言が必要です。
また、Google Mapの表示にインターネットへのアクセスが必要になるのでパーミッションを宣言します。

<?xml version="1.0" encoding="utf-8"?>
(省略)
        <uses-library android:name="com.google.android.maps"></uses-library>    
    </application>
    <uses-permission android:name="android.permission.INTERNET"></uses-permission>
</manifest>

実装する

レイアウトリソースにMapView要素と追加して、アクティビティを実装します。
(レイアウトリソース)

<com.google.android.maps.MapView
    	android:id="@+id/mapview"
    	android:layout_width="fill_parent"
    	android:layout_height="fill_parent"
    	android:enabled="true"
    	android:clickable="true"
        android:apiKey="取得したAPIキー"
/>

(アクティビティ)

package com.hogehoge.mapviewsample;

import android.os.Bundle;
import com.google.android.maps.MapActivity;

public class MapViewSampleActivity extends MapActivity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);        
    }

	@Override
	protected boolean isRouteDisplayed() {
		// TODO Auto-generated method stub
		return false;
	}
}

単純に地図を表示しているだけです。簡単です。