ひとりぶろぐ

価値ある情報をユーザー視点で発信するブログ

Mapapplauncher 00000

iOSにバイク、車のナビゲーションをさせようと考えたとき、Googleマップは目的地の検索においてダントツの性能を発揮します。

Googleの持つビッグデータにかなう位置情報データベースは、これまでも、これからも現れないでしょう。

ほかのナビゲーションアプリでは検索できないマイナーな施設や地点であっても、Googleマップなら大概結果を出してきます。

ところがGoogleマップにナビゲーションをさせようと思うと、Googleマップが必ずしもベストのナビゲーションアプリではないことが、他のアプリと使い比べると分かってきます。

具体的にはGoogleマップのナビゲーションは、渋滞情報や、恐らくユーザーの通ったルートの統計情報などを統合し、高度な計算のもとにルートを検索しているであろう一方、信号一つパスするために生活道路を横切ったり、延々狭い裏道を走ったりなど、最短時間で目的地まで到着するために運転しやすさや安全性を度外視している傾向が見受けられます。

バイクならそんなに面食らうことはないのですが、Googleマップに自動車のナビゲーションをさせようと思うと「さすがにこれはないんじゃないか」と辟易することもしばしば。

Mapapplauncher 00012

また、案内も結構不親切で、曲がるべき交差点に到達するまでの案内の回数やタイミングが不十分と感じることが多く、何車線もある道路における車線の選択なども自分で判断しないとスムーズにこなせない傾向にあります。

一方、Yahoo!カーナビはそれとは真逆の傾向があります。

地点検索は明らかにGoogleマップより弱い一方、案内は親切で、カーナビ専用機に迫る使い勝手を持っています。

地点検索 ルート検索 ルート案内 音声案内
Googleマップ △(バイク向き) × ×
Yahoo!カーナビ × ○(車向き)

専用リモコンまで用意されており、Googleマップより好ましく感じている人も多いのではないでしょうか。

曲がる交差点や分岐の案内も何度かに分けて行なってくれ、車線の選択もアシストしてくれます。交差点名を読み上げてくれるのもポイントが高いといえます。

ナビゲーションアプリを連携させて補完する

これを踏まえると、地点検索はGoogleマップに、ナビゲーションはYahoo!カーナビにさせることができれば、互いに苦手なところを補完でき、使い勝手を改善できるのではないかということに思い至ります。

地点検索 ルート検索 ルート案内 音声案内
Googleマップ △(バイク向き) × ×
Yahoo!カーナビ × ○(車向き)

そこで、GoogleマップとYahoo!カーナビを連携させる方法を考案。

MapAppLauncher

GoogleマップとYahoo!カーナビをはじめ、ナビゲーションで役に立つアプリを連携させるMapAppLauncherというものを作ってみました。

▼デモ動画

MapAppLauncherは、iOS用のショートカット、ならびにPython開発環境Pythonista 3用のPythonスクリプトです。

これを導入するとGoogleマップの地点情報ダイアログの共有からMapAppLauncherを起動できるようになり、そこからYahoo!カーナビをはじめ、ナビゲーションの役に立つアプリを起動できるようになります。

もちろん、ただ起動できるだけなく、Googleマップで指定した地点の情報を、起動したアプリに引き継げます。

MapAppLauncherで起動できるのは、具体的には以下の7つです。

特徴
Yahoo!カーナビ 高品質なナビゲーション
地図マピオン カーナビ専用機に入力できるMAP CODEを生成可能
iOS標準マップ Apple Watch連携
Yahoo! MAP(アプリ版)
Yahoo!地図(Web版) アプリ版では使えない地形図表示等
ZweiteGPS 探索した経路のGPX等への保存、ログの記録等
Geographica 国土地理院地図、陰影起伏図、標高の測定、ログの記録等

地図マピオンについて

地図マピオンは利用者が恐らく少ないと思いますが、デンソーのMAP CODEが生成できます。

MAP CODEはカーナビに入力できる簡易なコードで、Googleマップで検索した目的地をカーナビに入力すれば、トンネルなどの環境に依存しないカーナビ専用機でのナビができて便利です。

NaviConについて

NaviConという、同じくMAP CODEを生成できるアプリは、MapAppLauncherを使わずともGoogleマップとの連携ができるので地図マピオンとの連携は不要かもしれません。

対応カーナビであれば、Bluetooth経由で地点情報を転送できます。

共有の手順を終えた後、改めて起動しなければならないNaviConと違って、地図マピオンはGoogleマップから直接起動ができる利点があります。

Yahoo! MAP(アプリ版)について

特段ナビゲーションをする上でのメリットはなさそうですが、連携が可能だったのでYahoo! MAPとも連携可能にしました。

Yahoo!地図(Web版)について

Web版のYahoo!地図は、アプリ版で使えない地形図が利用可能なので連携の選択肢に加えました。

Yahoo!地図の地形図は美しく、個人的に好きな地図です。

ZweiteGPSについて

主にGPSのログを記録するのに使うZweiteGPS。

ログを様々な形式に変換して書き出せて便利です。

このアプリはGoogle Maps APIを使った経路検索ができ、なおかつ検索結果をGPXなどのファイルに書き出すことができる稀有な特徴を持っています。

Geographicaについて

国土地理院地図が利用できるGeographicaはオフラインに地図を保存できます。

陰影起伏図をオーバーレイでき、その美しさは見応えがあります。

主に登山に使うアプリですが、地図をオフラインに保存できる特徴があり、ZweiteGPSで作った経路検索結果のGPXを取り込むと、オフラインでの簡易ナビゲーションが可能となります。

指定した地点の標高を測定できる機能もあり、便利に使えます。

NAVITIME系アプリについて

このほか、NAVITIME系のアプリとも連携させようと思ったのですが、URL Scheme経由で位置情報を渡す方法が分かりませんでした。

ご存知の方はお知らせください。

ショートカット版ダウンロード/インストール

MappAppLauncher for ショートカット v0.1: MapAppLauncher_v0.1

↓起動アプリの選択なしに、決め打ちでYahoo!カーナビを起動するバージョン。

Yahoo!カーナビ起動: Yahoo!カーナビ起動

インストールは、上記のリンク先よりショートカット版MapAppLauncherをダウンロード後、所定の手順でインストールしてください。ショートカット.appがインストールされている必要があります。

Pythonista 3版ダウンロード

MappAppLauncher v0.1: MapAppLauncher_v0.1.zip

Pythonista 3版インストール方法

  1. 上記のリンクからMapAppLauncherをダウンロード
  2. zipファイルを解凍し、MapAppLauncher.pyを得る
  3. Pythonista 3を一度起動
  4. iPhone / iPadなどのiOS搭載機にMapAppLauncher.pyを転送
    • iCloud Driveが使える環境では、母艦側のiCloud DriveにPythonista 3フォルダができるので、そこにMapAppLauncher.pyをコピー
    • そうでない場合は、iOS搭載機の「ファイル」アプリを起動、Dropbox、OneDriveなど「場所」からたどれるクラウドストレージ上にコピーしたMapAppLauncher.pyを指定し、共有シートを表示。
      mapapplauncher_00009
    • 「Run Pythonista Script」を実行。「Import File」をタップしてPythonista 3にファイルを取り込みます
      mapapplauncher_00001
  5. iPhone / iPadなどのiOS搭載機に転送されたことを確認
  6. Pythonista 3を起動。ファイルリストの一番下の段にある歯車アイコンをタップ
    mapapplauncher_00002
  7. 「Share Extension Shortcuts」をタップ
    mapapplauncher_00003
  8. 「+」アイコンをタップ
    mapapplauncher_00004
  9. 取り込んだMapAppLauncher.pyを指定
    mapapplauncher_00005
  10. 「Reset Environment」は必ずオンに
    「Custom Title」は「地図アプリ起動」などに
    「Icon」、「Icon Color」は好みで設定
    画面右上の「Add」をタップ
    mapapplauncher_00006
  11. 好みでアイコンの順番を入れ替え
    mapapplauncher_00007

使い方

Googleマップの地点情報画面にある共有ボタンをタップ。

mapapplauncher_00012

「Run Pythonista Script」をタップ。

mapapplauncher_00008

登録した「地図アプリ起動」(MapAppLauncher)をタップ。

mapapplauncher_00010

起動したい地図アプリをリストの中から選択します。

mapapplauncher_00011

 - Webサービス・アプリ