地図ロイドはインテントを介して,他の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=富士山
ポイントをキーワード指定で送信するURLにパラメータqを指定します.例geo:0,0?q=富士山使えるキーワードについては,地図ロイドの地名検索機能を確認してください. (地名,山名,施設名,郵便番号,緯度経度,Geohash,UTM座標です)
ジオハッシュはポイントではないため,ブックマークに保存されません. 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 >= 10000GPXファイルが /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);これにより地図ロイドが起動して,そのトラックログが地図上に表示されます. 地図ロイドへの保存はされません.保存するには,稲妻ボタンから「表示中」タブで「地図ロイドに保存する」ボタンを押す必要があります. 使用上の注意呼び出すことにおいて特にご連絡は不要ですが,以下に同意していただくのが条件になります. 不明な場合は,お気軽にお問い合わせください.
|