AndroidでGoogle Mapを表示する(MapView)
位置情報を使ったアプリを作ろうと思い、勉強することにしました。
位置情報をほげほげという前に、AndroidでGoogle Map関連のコードを書いたことがなかったので、まずはMapViewを使った地図表示からやってみました。
事前に、Maps APIキーの取得が必要です。
Maps APIキーの取得
今回はテスト用のAPIキーを取得するので、デバッグ用の証明書を使用しました。
まずは、以下のコマンドで証明書のフィンガープリントを取得します。
パスワードを聞かれますが、何も入力せずenterキーを押します。
$ keytool -list -keystore ./.android/debug.keystore
次にGoogle Maps APIのページで、取得したフィンガープリントを入力し、APIキーを取得します。
ライブラリの設定(AndroidManifest.xmlの設定)
MapViewはオプションのライブラリなので、使用するにはライブラリ宣言が必要です。
また、Google Mapの表示にインターネットへのアクセスが必要になるのでパーミッションを宣言します。
<?xml version="1.0" encoding="utf-8"?> (省略) <uses-library android:name="com.google.android.maps"></uses-library> </application> <uses-permission android:name="android.permission.INTERNET"></uses-permission> </manifest>
実装する
レイアウトリソースにMapView要素と追加して、アクティビティを実装します。
(レイアウトリソース)
<com.google.android.maps.MapView android:id="@+id/mapview" android:layout_width="fill_parent" android:layout_height="fill_parent" android:enabled="true" android:clickable="true" android:apiKey="取得したAPIキー" />
(アクティビティ)
package com.hogehoge.mapviewsample; import android.os.Bundle; import com.google.android.maps.MapActivity; public class MapViewSampleActivity extends MapActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } @Override protected boolean isRouteDisplayed() { // TODO Auto-generated method stub return false; } }