アプリケーション開発
ここでは、Google Mapの 移動やズームなどの操作が行えるようにします。 プロジェクトは先ほど作成したGoogleMapViewをそのまま利用します。
main.xmlのMapViewタグにidを追加します。 main.xmlはプロジェクトの[res]-[layout]下にあります。 idには「@+id/MapView」を指定しています。 この場合、プログラムからは「R.id.MapView」と書くことでアクセスします。
<?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:id="@+id/MapView" android:layout_width="fill_parent" android:layout_height="fill_parent" android:apiKey="XXXXXXXXXXXXXXXXXXXXXXXXXXXX" /> </LinearLayout>
[src]にあるGoogleMapVies.javaを修正します。
package com.first_android.android.googlemapview; import com.google.android.maps.MapActivity; import com.google.android.maps.MapView; import android.os.Bundle; public class GoogleMapView extends MapActivity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); MapView mView = (MapView)findViewById(R.id.MapView); // タッチ操作を可能にする mView.setClickable(true); // ズーム操作を可能にする mView.setBuiltInZoomControls(true); } protected boolean isRouteDisplayed(){ return false; } }
MapView mView = (MapView)findViewById(R.id.MapView);
MapViewクラスのインスタンスを取得します。 findViewById()メソッドはxmlファイルから指定されたidのビューを取得します。 「R.id.MapView」で先ほどmain.xmlに追加したidを指定してMapViewを取得します。
mView.setClickable(true);
setClickableメソッドは引数にtrueを指定することで、 マップの移動や拡大縮小を可能にします。
mView.setBuiltInZoomControls(true);
setBuiltInZoomControlsメソッドは引数にtrueを指定することで、 ズームコントローラーがマップ上に表示されます。
[実行]ボタンから[Androidアプリケーション]を選択して実行します。 しばらくするとエミュレータが起動します。 Menuボタンを押してLockを解除すると。 アメリカを中心とした地図が表示されます。 マウスを利用して移動、+−ボタンを押すことで拡大縮小を行うことができます。