Home > android > AndroidでGoogle Mapsを使う最も簡単なサンプル

AndroidでGoogle Mapsを使う最も簡単なサンプル

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のアカウント

GoogleからKeyを配布されるので、Googleのアカウントが必要です。

自前の証明書

アプリケーションを配布する為には証明書が必要です。
配布ではなくテスト目的であればデバッグ版の証明書があります。

Android Maps Keyの取得

まずAndroid Maps API Keyへアクセスします。
この際Googleへのログインが必要ですのでGoogleのアカウントを使います。

契約条項を読み、了承できるならチェックボックスにチェックします。
そして、「My certificate’s MD5 fingerprint」に証明書のフィンガープリントを入力します。

「Generate API Key」をクリックするとAndroid Maps APIを取得できます。

証明書のフィンガープリント(MD5)の取得方法

証明書のフィンガープリント(MD5)を取得するには証明書が必要です。
今回はデバッグ版の証明書を利用します。
Macであれば、下記のコマンドを実行する事でMD5を取得できます。

# keytool -list -keystore ~/.android/debug.keystore

keytoolはJDKをインストールしたディレクトリ下のbinディレクトリに存在する。

debug.keystoreの位置はWindowsなら下記です。

[Windows XP] C:\Documents and Settings\\LocalSettings\Application Data\Android\debug.keystore
[Windows Vista] C:\Users\\AppData\Local\Android\debug.keystore

このコマンドを実行すると、下記の出力を得る事ができます。
#キーストアのパスワードは何も入力する事無く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アプリを作る

Mapを表示するだけのアプリを作成します。
早速ソースコードをどうぞ。

Source Code
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

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へ参加されてみてはいかがでしょうか?

関連のありそうなエントリ

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 のところを書き換え忘れてました。お騒がせしました。

Comment Form
Remember personal info

*
To prove that you're not a bot, enter this code
Anti-Spam Image

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

Home > android > AndroidでGoogle Mapsを使う最も簡単なサンプル

Search
Feeds
Meta

Return to page top