見るだけマイマップは,自分のGoogleマイマップに登録されているポイント(目印)を,Androidから見るためのアプリです.PCで調べた場所を,マイマップ経由で簡単にAndroid上で見ることができます

見るだけマイマップ

Android Marketに登録してあります.

icon2.png ホーム > アプリケーション > 旅行 > 見るだけマイマップ (AndroLib.com)

  • OS 1.5以上が必要です
  • HT-03Aしか持っていないため,実機での確認はHT-03Aだけです

v304-screen-1.png

v2-screen-2.png

マイマップに登録されているポイントについて,次の操作ができます.

  • 地図アプリを起動 (Googleマップ,地図ロイドなど)
  • 座標を他のアプリに共有
  • 地図アプリで開くためのショートカットを,ホーム画面に作成

一度マイマップ情報を取得するとキャッシュに保存するため,それ以後は通信圏外でも動作します.最新の情報に更新する場合は,メニューボタン-更新 を実行してください.

制限

  • マイマップの編集機能はありません
  • 対応しているのは目印(ポイント)だけです.トラックログ,直線,シェイプなどには対応していません

外部アプリからの呼び出し方(開発者向け)

外部アプリからインテント経由で起動して,見るだけマイマップ上で選択された目印を, 呼び出し元のアプリから受け取ることができます.
	// 受け取るインテントのextrasに含まれるキー
	private static final String ESTRING_KEY_NAME = "name";
	private static final String ESTRING_KEY_DESCRIPTION = "desc";
	private static final String EFLOAT_KEY_LATITUDE = "lat";
	private static final String EFLOAT_KEY_LONGTITUDE = "lon";
	private static final String ESTRING_KEY_ICON_URL = "iconUrl";
	private static final String ESTRING_KEY_PUB_DATE = "pubDate";

	// インテント識別コード.識別するだけなので値は何でも良い
	private static final int INTENT_CODE_SELECT_ACT = 1;

	// インテントを準備する
	String cpath = "com.kamoland.mirudake.MainAct";
	String pack = cpath.substring(0, cpath.lastIndexOf('.'));

	Intent intent = new Intent(Intent.ACTION_PICK);
	intent.setClassName(pack, cpath);

	// 見るだけマイマップを起動する
	startActivityForResult(intent, INTENT_CODE_SELECT_ACT);

	// 別アクティビティからの戻り時イベント
	@Override
	protected void onActivityResult(int requestCode,int resultCode, Intent data) {
		if (requestCode == INTENT_CODE_SELECT_ACT) {
			// 見るだけマイマップから戻った場合
			if (resultCode == RESULT_OK) {
				Bundle extras = data.getExtras();

				// 選択された目印の情報をインテントから取り出す
				String name = extras.getString(ESTRING_KEY_NAME);
				String desc = extras.getString(ESTRING_KEY_DESCRIPTION);
				float lat = extras.getFloat(EFLOAT_KEY_LATITUDE);
				float lon = extras.getFloat(EFLOAT_KEY_LONGTITUDE);
				String iconUrl = extras.getString(ESTRING_KEY_ICON_URL);
				String pubDate = extras.getString(ESTRING_KEY_PUB_DATE);
			}
		}
		super.onActivityResult(requestCode, resultCode, data);
	}

インテントで受け取れるパラメータ一覧

キーデータ型内容
nameString名前,タイトル
descString説明.HTMLタグは除去してあります(余計なお世話?).無指定の場合は空文字
latfloat緯度
lonfloat経度
iconUrlStringアイコン画像のURL.無指定の場合は空文字
pubDateString登録された日時.形式は「yyyy-MM-dd HH:mm」

amコマンドでの起動例

パラメータを受け取れないので,意味ないですが
adb shell
am start -a android.intent.action.PICK -n com.kamoland.mirudake/.MainAct

謝辞

本アプリでは, Google Inc.により Apache 2.0ライセンス で公開されている, MyTracksのソースコードおよび付属ライブラリを一部使用しています

余談

なお,AndroidのGoogleマップはレイヤーでマイマップに対応していますので,Googleマップだけを使うならこのアプリは不要かも知れません.

このアプリは,マイマップの座標を他の色々なアプリに渡すことで,できることの可能性が広がるのではないかということで作成しました.そのような使い方こそ,Androidらしいと思いますし.

更新履歴

  • バージョン 3.4: マップフォルダの長押しメニュー追加(コピー,共有,ショートカット作成).同名のポイントがあると固まるバグを修正.マップフォルダがキャッシュ済みかどうかでアイコンの色を変えれるようにした (2010/8/4)
  • バージョン 3.3: Googleへのアップロード機能を追加 (地図ロイドから呼び出して使います.単独ではできません) (2010/8/2)
  • バージョン 3.2: フォントサイズを変更できるようにしました (2010/7/26)
  • バージョン 3.1: 一部の名前が文字化けするのを修正.ショートカットの名前を指定可能にした (2010/7/3)
  • バージョン 3.0: Android 2.1以上に対応しました.マルチアカウントで使用できます (2010/6/22)
  • バージョン 2.0: 外部アプリからの呼び出しに対応しました.地図ロイド4.22以上から利用できます (2010/6/20)
  • バージョン 1.0: オフラインで動作するようになりました.更新は,メニュー-更新でできます (2010/6/18)
  • バージョン 0.2: ポイントにアイコンを表示.長いポイント名を折り返し表示する (2010/6/12)
  • バージョン 0.1: 初版 (2010/6/12)