heikyoのblog

[Android] 公開用のGoogleMap API Keyを取得する

MacでAndroid GoogleMap API Keyの取得で取得するしたAPIKeyはどうやらこれは、デバッグ用らしい。
このAPIKeyを利用して公開しても地図が全く表示されない...

ではどうやって、公開用のAPIKeyを取得するのか。

Android Marketにアプリを公開する際にkeystoreを生成したと思います。

 52)
この時に設定したパスワードを使用します。

そして、Macの場合、ターミナルで、下記のコマンドを実行。

$ keytool -list -keystore /Users/heikyo/keystore/sample.keystore

※ちなみにターミナルで文字化けに困った場合、「ターミナル」→「環境設定」→「設定」→「詳細」で言語環境を「日本語(Shift JIS)」に変更すると、文字化けが無くなると、思います。

すると「キーストアのパスワードを入力してください:」と聞かれるので、先程のパスワードを入力→Enter...
すると、下記のような形で返ってくるはず...
証明書のフィンガープリント (MD5):    xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx

この証明書のフィンガープリントをコピー、ここhttp://code.google.com/intl/ja/android/maps-api-signup.html)で、先程のコピーをテキスト欄に貼り付け、"Generate API Key"ボタンをクリックすれば、「Android GoogleMap API Key」が発行されます。

ここで発行されたAPI Keyを、公開するアプリのgooglemapsのAPI Keyにすれば、Android Marketからインストールしても、地図がちゃんと表示されるはずです。

エミュレーターにとりあえずGoogleMapを表示させる

AndroidManifest.xml

まずは、"AndroidManifest.xml"に赤字の部分を加える

AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="jp.Maps"
      android:versionCode="1"
      android:versionName="1.0">
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".MainActivity"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    <uses-library android:name="com.google.android.maps"></uses-library>
</application>
    <uses-sdk android:minSdkVersion="7" />
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
</manifest> 


main.xml

次に、"main.xml"に赤字の部分を加える

main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    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:apiKey="[APIKey]"
        />

</LinearLayout>
[APIKey]の取得方法はこちらを参考に


MainActivity.java
 

MainActivity.java
package jp.Maps;

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

public class MainActivity extends MapActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}

/*
* ルート情報を表示するかどうか
* @return ルート情報を返すならtrueを返す
*/
@Override
protected boolean isRouteDisplayed() {
return false;
}
}
これでとりあえずエミュレーターにGoogle Mapsが表示される


 ▼参考記事
  • Posted by heikyo
  • 13:45 | Edit

MacでAndroid GoogleMap API Keyの取得

まずターミナルで下記のコードを実行
keytool -list -alias androiddebugkey -keystore ~
/.Android/debug.keystore -storepass android -keypass android
すると
(MD5): 91:07:4C:**:**:**:**:**:**:**:**:**:**:**:B0:AD:97
という形で返ってくるので"(MD5):"以降をコピー。

そしてここhttp://code.google.com/intl/ja/android/maps-api-signup.html)で、先程のコピーをテキスト欄に貼り付け、"Generate API Key"ボタンをクリックすれば、「Android GoogleMap API Key」が発行されます。

▼参考記事
livedoor プロフィール
記事検索
カテゴリ別アーカイブ
  • ライブドアブログ
heikyoのblog