- 2008-10-28 21:39
- android
Android 1.0 SDK release1対応でGoogle Mapsを使う最も簡単なサンプルです。
Android上でのGoogle MapsをAndroid Mapsというらしいので、
本エントリもGoogle MapsではなくAndroid Mapsと記述します。
Android Mapsを使う為には、Android Maps API Keyを取得する必要があります。
Keyの取得に必要なモノは以下の2つです。
- Googleのアカウント
- 自前の証明書
GoogleからKeyを配布されるので、Googleのアカウントが必要です。
アプリケーションを配布する為には証明書が必要です。
配布ではなくテスト目的であればデバッグ版の証明書があります。
まずAndroid Maps API Keyへアクセスします。
この際Googleへのログインが必要ですのでGoogleのアカウントを使います。
契約条項を読み、了承できるならチェックボックスにチェックします。
そして、「My certificate’s MD5 fingerprint」に証明書のフィンガープリントを入力します。
「Generate API Key」をクリックするとAndroid Maps APIを取得できます。

証明書のフィンガープリント(MD5)を取得するには証明書が必要です。
今回はデバッグ版の証明書を利用します。
Macであれば、下記のコマンドを実行する事でMD5を取得できます。
keytoolはJDKをインストールしたディレクトリ下のbinディレクトリに存在する。
debug.keystoreの位置はWindowsなら下記です。
[Windows Vista] C:\Users\
このコマンドを実行すると、下記の出力を得る事ができます。
#キーストアのパスワードは何も入力する事無くEnter。
***************** 警告 警告 警告 *****************
* キーストアに保存された情報の完全性は検証されて *
* いません! 完全性を検証するには、キーストアの *
* パスワードを入力する必要があります。 *
***************** 警告 警告 警告 *****************
キーストアのタイプ: jks
キーストアのプロバイダ: SUN
キーストアには 1 エントリが含まれます。
androiddebugkey, 2008/10/25, keyEntry,
証明書のフィンガープリント (MD5): 00:11:22:33:44:55:66:77:88:99:AA:BB:CC:DD:EE
最後の「00:11:22:33:44:55:66:77:88:99:AA:BB:CC:DD:EE」が証明書のフィンガープリント(MD5)です。
少し長くなりましたが、これで準備完了です。
後は簡単です。
Mapを表示するだけのアプリを作成します。
早速ソースコードをどうぞ。
package com.adamrocker.android.sample.map; import android.os.Bundle; import com.google.android.maps.*; public class MapSample extends MapActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); MapView map = new MapView(this, "[Android Maps API Key]"); map.setEnabled(true); map.setClickable(true); setContentView(map); } @Override protected boolean isRouteDisplayed() { return false; } }
[Android Maps API Key]に準備で取得したAndroid Maps API Keyを入力して下さい。
setEnabled(true)とsetClickable(true)はMapをドラッグできるようの設定です。
たったコレだけです。
AndroidManifest.xmlは下記のようになります。
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.adamrocker.android.sample.map" android:versionCode="1" android:versionName="1.0.0"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".MapSample" 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" /> </application> <uses-permission android:name="android.permission.INTERNET" /> </manifest>
インターネットを使うパーミッションの設定とMapライブラリを使う設定をしています。
このアプリを実行したときのスクリーンショットです。

ちゃんと地図が表示されました。
日本Androidの会 勉強会WGのページ「MapViewを使用するために、Maps API Keyを取得する」がとても参考になりました。
これからAndroidを始めようという方は日本Androidの会 勉強会WGへ参加されてみてはいかがでしょうか?
- Newer: Android Maps上の特定の位置に画像を配置する方法
- Older: ABAブログイベント「MIRAI」に参加してきました
Comments:3
- kimitake 08-10-29 (水) 8:34
-
いつもいろいろ参考にさせて頂いております。
勉強会の説明ではリソース中で MapView を作成してるようですが、本エントリのようにソース中でインスタンスを作成してみたのですが、リソースに Hello Android! のテキストビューの記述が残ってるせいかそちらが表示されてしまいました。
自分の方で何かを見落としてる気がしますが、ご確認いただけると幸いです。 - nabe 08-10-29 (水) 9:29
-
>kimitakeさん
setContentView(map);
の部分が,自動生成のまま↓のようになっていませんか?
setContentView(R.layout.main);
これですと,自動生成のmain.xmlをコンテントビューとして設定してしまいます.ソースコード中のオブジェクトをビューに設定するにはmapビューを設定するようにします.ちょっと確認してみてください - kimitake 08-10-29 (水) 9:32
-
setContentView のところを書き換え忘れてました。お騒がせしました。
Trackbacks:0
- Trackback URL for this entry
- http://www.adamrocker.com/blog/230/android_maps_the_simplest_sample.html/trackback/
- Listed below are links to weblogs that reference
- AndroidでGoogle Mapsを使う最も簡単なサンプル from throw Life
