アプリを地図ロイドに連携させる方法

地図ロイドはインテントを介して,他のAndroidアプリから呼び出すことができます.
その仕様について説明します.
(開発者向けの内容です)

A.ポイントを送信する

geoインテントに対応していますので,アプリからgeoインテントを送信すれば, その位置を地図上で開くことができます.

緯度経度を指定する

URLの例
geo:35.36076,138.72748
実装例
Intent intent = new Intent(Intent.ACTION_VIEW);
String url = "geo:" + lat + "," + lon;
intent.setData(Uri.parse(url));
intent.setPackage("com.kamoland.chizroid");
context.startActivity(intent);
これにより地図ロイドが起動して,そのポイントがブックマークの「検索履歴」に保存されます.
そして地図上にマークがついた状態になります.

オプションを指定する

URLの例
geo:35.36076,138.72748?map=c&z=18&pn=富士山
  • map: 地図モード.c:地形図,y:Yahoo地図,g:Gooogleマップ(*1),s:Google航空写真(*1),m:マピオン地図(*1)
  • z: ズームレベル.Googleマップ基準ですので,地形図の場合は少しずれます
  • pn: 場所の名前.この名前で地図ロイドのブックマークに保存されます
(*1)地図ロイドバージョン10.0以上で対応.判定法:versionCode >= 10000

ポイントをキーワード指定で送信する

URLにパラメータqを指定します.例
geo:0,0?q=富士山
使えるキーワードについては,地図ロイドの地名検索機能を確認してください.
(地名,山名,施設名,郵便番号,緯度経度,Geohash,UTM座標です)
  • ジオハッシュ(xn7770q) - geo:0,0?q=xn7770q
  • UTM座標(54S 293917 3915604) - geo:0,0?q=54S+293917+3915604
このqを使った場合は,場所名(pn)は無効になります.
ジオハッシュはポイントではないため,ブックマークに保存されません.

B.トラックログを送信する

(a) 保存させる,表示はしない

GPXファイルを作成して,そのファイルのパスをインテントで送信してください.

GPXファイルが /storage/sdcard1/test.gpx にある場合の例
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(new File("/storage/sdcard1/test.gpx")), "application/gpx+xml");
intent.setPackage("com.kamoland.chizroid");
context.startActivity(intent);
これにより地図ロイドが起動して,そのトラックログがトラックログ一覧に保存されます.
このタイミングでは,地図上への表示はされません.

(b) 表示する,保存はしない

※地図ロイドバージョン10.0以上で対応.判定法:versionCode >= 10000

GPXファイルが /storage/sdcard1/test.gpx にある場合の例
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("geo:0,0"));
intent.setPackage("com.kamoland.chizroid");
intent.putExtra("bkgpxfile", "/storage/sdcard1/test.gpx");
intent.putExtra("bkgpxname", "今日のお散歩");
// 地図の中心を最後の点にするならtrue,最初の点ならfalse
intent.putExtra("bklast", false);
context.startActivity(intent);
これにより地図ロイドが起動して,そのトラックログが地図上に表示されます.
地図ロイドへの保存はされません.保存するには,稲妻ボタンから「表示中」タブで「地図ロイドに保存する」ボタンを押す必要があります.

使用上の注意

呼び出すことにおいて特にご連絡は不要ですが,以下に同意していただくのが条件になります. 不明な場合は,お気軽にお問い合わせください.
  • インテントの仕様は将来的に変更しないつもりですが,何か不測の事態が生じて変更または廃止する可能性はあります
  • 呼び出し後の地図ロイドの動作についての保証は,いたしません
  • 地図ロイドの作者が提供していると誤認させるような,アイコン,名称,その他の表現を使用するのは禁止します
  • 呼び出しを乱用することで利用者の端末に負荷をかけるなどの,不適切な利用を禁止します
  • 上記の禁止事項および,地図ロイド作者が不適切だと判断した場合は,アプリ名の公表など必要な措置を取らせていただきます