最近の更新

2012年6月8日金曜日

(AndroidDevelopersチュートリアル)Google Map View(その2)

【目的】
AndroidDevelopersのチュートリアルのGoogle Map Viewを実行します。

※その2は「Google Map Viewチュートリアル」のPart 2: Adding Overlay Itemsのコードを実行します。



【手順1】
1.「Androidプロジェクトの作成方法」の手順で、「AndroidSample025-HelloGoogleMaps2」といプロジェクトを作成。
※プロジェクトの設定は以下の通り。

Project NameAndroidSample025-HelloGoogleMaps2

ビルド・ターゲットターゲット名Google APIs
プラットフォーム4.0.3
API15
Application NameAndroidSample025-HelloGoogleMaps2

Package Namecom.example.androidsample025
アクティビティーの作成HelloGoogleMaps2
Minimum SDK15

2.「res/drawable/ディレクトリの作成方法」の手順で、「res/drawable/」ディレクトリを作成。



【手順2】
1.「Google Map Viewチュートリアル」を開く。
2.画像を右クリックし、「名前を付けて画像を保存」を選択。




【手順3】 
1.【手順1】で作成したプロジェクトの「res/drawable」ディレクトリを選択。
2.「保存」ボタンをクリック。




























【手順4】
1.「AndroidSample025-HelloGoogleMaps2」のプロジェクトを選択し、「リフレッシュ(ローカルファイルとの同期)の方法」の手順で同期を実施。
2.「AndroidManifest.xml」を以下の様に入力。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.androidsample025"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-permission android:name="android.permission.INTERNET" />

    <uses-sdk android:minSdkVersion="15" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@android:style/Theme.NoTitleBar" >
        <uses-library android:name="com.google.android.maps" />

        <activity
            android:name=".HelloGoogleMaps2"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

3.「Ctrl+Shift+F」を押し、ソースコードをフォーマッティング。
4.「res/layout/main.xml」を以下の様に入力。
<?xml version="1.0" encoding="utf-8"?>
<com.google.android.maps.MapView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/mapview"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:apiKey="XXX"
    android:clickable="true" />

6.「Ctrl+Shift+F」を押し、ソースコードをフォーマッティング。

7.「Javaクラスファイルの作成方法」の手順で、「HelloItemizedOverlay.java」を作成する。
8.「HelloItemizedOverlay.java」を以下の様に入力。
package com.example.androidsample025;

import java.util.ArrayList;

import android.app.AlertDialog;
import android.content.Context;
import android.graphics.drawable.Drawable;

import com.google.android.maps.ItemizedOverlay;
import com.google.android.maps.OverlayItem;

public class HelloItemizedOverlay extends ItemizedOverlay {
    private Context mContext;
    private ArrayList mOverlays = new ArrayList();

    public HelloItemizedOverlay(Drawable defaultMarker) {
        super(boundCenterBottom(defaultMarker));
    }

    public void addOverlay(OverlayItem overlay) {
        mOverlays.add(overlay);
        populate();
    }

    public HelloItemizedOverlay(Drawable defaultMarker, Context context) {
        super(boundCenterBottom(defaultMarker));
        mContext = context;
    }

    @Override
    protected OverlayItem createItem(int i) {
        return mOverlays.get(i);
    }

    @Override
    public int size() {
        return mOverlays.size();
    }

    @Override
    protected boolean onTap(int index) {
        OverlayItem item = mOverlays.get(index);
        AlertDialog.Builder dialog = new AlertDialog.Builder(mContext);
        dialog.setTitle(item.getTitle());
        dialog.setMessage(item.getSnippet());
        dialog.show();
        return true;
    }
}

9.「HelloGoogleMaps2.java」を以下の様に入力。
package com.example.androidsample025;

import java.util.List;

import android.graphics.drawable.Drawable;
import android.os.Bundle;

import com.google.android.maps.GeoPoint;
import com.google.android.maps.MapActivity;
import com.google.android.maps.MapView;
import com.google.android.maps.Overlay;
import com.google.android.maps.OverlayItem;

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

        MapView mapView = (MapView) findViewById(R.id.mapview);
        mapView.setBuiltInZoomControls(true);

        List mapOverlays = mapView.getOverlays();
        Drawable drawable = this.getResources().getDrawable(
                R.drawable.androidmarker);
        HelloItemizedOverlay itemizedoverlay = new HelloItemizedOverlay(
                drawable, this);

        GeoPoint point = new GeoPoint(19240000, -99120000);
        OverlayItem overlayitem = new OverlayItem(point, "Hola, Mundo!",
                "I'm in Mexico City!");
        GeoPoint point2 = new GeoPoint(35410000, 139460000);
        OverlayItem overlayitem2 = new OverlayItem(point2, "Sekai, konichiwa!",
                "I'm in Japan!");

        itemizedoverlay.addOverlay(overlayitem);
        itemizedoverlay.addOverlay(overlayitem2);
        mapOverlays.add(itemizedoverlay);
    }

    @Override
    protected boolean isRouteDisplayed() {
        return false;
    }
}

10.「Ctrl+Shift+F」を押し、ソースコードをフォーマッティング。
11.「Androidプロジェクトの実行方法」の手順で、「Androidプロジェクト」を実行。
12.エミュレータが起動しロックを解除し、以下の様にアプリケーションが実行されれば成功です。





【手順5】
1.アイコンをクリックすると、メッセージが表示されます。










































以上です。

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。

関連記事