Google Maps Android API v2のサンプルを動かしてみる

今更ですが、Google Maps Android API v2が2012年12月3日にリリースされたそうです。

その辺は@NkznさんがはAndroid Advent Calendar 2012 (裏) でまとめてくれています。
世界の中心でGoogle Maps Android API v2に喝采を送る



単純に仕事でMaps APIを使ったAndroidアプリを作ることになりそうなので、色々調べ始めました。
V1とV2とはクラス名からしてまったく別で互換性もないので、V1は捨てて最初からV2を学んだ芳が良さそうです。

V1とV2の違いは以下を参照
Google Maps Android API v2 の v1 からの変更点メモ



こんな時に参考になるのは、公式サイトとサンプルプログラム

ということで
公式サイトは
https://developers.google.com/maps/documentation/android/

サンプルプログラム
\extras\google\google_play_services\samples\maps

サンプルプログラムとMaps V2にしても、今までのAndroidアプリのサンプルとは違うところにあるのと、動作させるのに手間がかかるのでメモしておきます。


(1)Google Maps Android API v2とサンプルのダウンロード
SDKの中に含まれていません。
Android SDK Managerを起動して、一番下のExtrasまでスクロールします。
Google Play servicesをダウンロードします。現時点でRev. 7です。
ダウンロードが終わると
Google Maps Android API v2が
\extras\google\google_play_services\libproject\google-play-services_lib
サンプルが
\extras\google\google_play_services\samples\maps
にできます。

画像


(2)Google Maps API Keyの取得
Android APIs ConsoleでGoogle Maps API Keyを取得します。
https://code.google.com/apis/console

(2-1)SHA-1ハッシュ値
APIアクセスキーを作るためには、apkにデジタル署名を付ける証明書のSHA-1ハッシュ値が必要です。
今回は、デバッグ用証明書debug.keystoreのSHA-1を使います。

Google Playに登録する、あるいは正式版として作成するなら、別途証明書を作成することになります。

debug.keystoreはWindows版の場合、ユーザ\.androidの配下にあります。
以下のコマンドを実行して、SHA-1ハッシュ値を表示します。

keytool -list -v -keystore debug.keystore

キーストアのパスワードを入力して下さい:
と表示されますが、そのままエンターキーを押します。
画像


証明書のフィンガープリント:
MD5とSHA1が表示されますが、SHA1を使用します。

画像


(2-2)Google Maps Android API v2を有効にする
Android APIs Consoleにログインします。
メニューでServicesをクリックして、Google Maps Android API v2をONにします。
画像


(2-3)APIキーを取得する
メニューでAPI Accessをクリックして、「Create new Android key ...」を押します。

画像


ポップアップウインドウが表示されます。

画像


APIアクセスキーを作成するためには、SHA-1ハッシュ値の後ろにセミコロン「;」を付けて、アクセス元のアプリパッケージ名を入力します。
サンプルのパッケージ名は「com.example.mapdemo」です。
なので、画面に
SH1ハッシュ値;com.example.mapdemo
を入力して、Createボタンを押します。

元の画面にAPI keyが表示されます、これを使用します。

(3)サンプルアプリのインポート
Eclipseのパッケージエクスプローラで右クリック:新規⇒プロジェクト
新規プロジェクト画面で「Android Project from Existing Code」を選択して「次へ」を押下します。
Root Directoryに\extras\google\google_play_services\samples\maps
を入力して「完了」を押します。
Copy projects into workspaceをチェックした方が良いでしょう、サンプルを改造したりすると思いますので。
画像


(4)コンパイルエラーを取る
MainActivityというプロジェクトが出来ますが、srcやlayoutの下がエラーで真っ赤になります。

(4-1)Google Maps Android API v2のインポート
\extras\google\google_play_services\libproject\google-play-services_lib
を同じくインポートします。

画像


プロジェクト:MainActivityで右クリック⇒プロパティ
プロパティウインドウがポップアップするので、メニューで「Android」をクリックしてから、一番下にスクロールして
Libraryのところで、Addボタンを押下して、google-play-services_libを選択してOKを押下します。

画像


(4-2)サポートライブラリのインポート
プロジェクト:MainActivityで右クリック⇒Android Tools⇒Add Support Library...
ダウンロードします。
画像


これでビルドエラーは全て消えるはずです。

(5)API Keyの更新
Android Manifestファイルの36、37行目は以下のようになっています。
画像


Basic Map
経度、緯度(0, 0)にピンを立てる簡単なデモ
画像



この記事へのコメント

nanti
2014年02月21日 11:15
(*´ω`*)あなたの説明が、どんなHPよりも
わかりやすく、そして唯一実行することができました。
ありがとうございました。
pakuqi
2014年02月21日 11:23
nantiさん
お役に立ったようで何よりです。(^o^)
半分は自分用の防忘録なのですが、それが他の人の役に立つのであるなら幸いです

この記事へのトラックバック