Google Maps Android API v2登録方法

いつのまにかGoogleMapAPIもv2になっていた。
旧版のAPI Keyは使用できないということで、新たにAPI Keyを取得してみた。


まずはkeytoolでフィンガープリントを取得しないといけない。
keystoreはユーザディレクトリ配下の.androidフォルダにあるdebug.keystoreを使用する。

以下のようにしてフィンガープリントを表示する。

keytool -list -v -keystore debug.keystore -alias androiddebugkey -storepass android -keypass android

出力された中のSHA-1を使用する。

次にGoogle Developer Console(https://console.developers.google.com/project)で、登録を行う。

任意のプロジェクトを選択し、APIsを開いてGoogle Maps Android API v2をONにしておくこと。

f:id:ats337:20140313182131p:plain

更にCredentialsを選択して、

f:id:ats337:20140313182209p:plain

CREATE NEW KEYを選択。

f:id:ats337:20140313182304p:plain

Android keyを選択

f:id:ats337:20140313182337p:plain

SHA-1のフィンガープリントを入力する。
フィンガープリントに「;」を続けて、アプリのパッケージ名を入力する。

こんな感じ

3F:34:04:9D:2A:B6:FC:34:F6:96:4C:A8:81:CA:97:E8:AD:72:DC:DD;net.atlabo.sample

これでAPI Keyが作成できる。
作成したAPI KeyはAndroidManifest.xmlに追記する。

AndroidManifest.xmlの定義情報にも変更があるようだ。


まず、パーミッション
インターネットに加えて、以下の2つが必要になっている。

    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>

また、applicationタグの子要素として、meta-dataを設定する。

    <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version"/>
    <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="@string/map_key"/>

@string/map_keyに、先ほど取得したAPI Keyを設定すればOK。

ちょっと手間だったけど、これで何とかGoogleMapが使えるようになった。