TextGoダウンロード

2026年6月22日月曜日

もう我慢しない。前が詰まったら別ルートへ。配達用『迂回路探索』機能

ナビ『このまま直進です』 オレ『無理』

赤信号、踏切、遅い車。その足止めを減らす方法

交通状況によってスムーズにピック先やドロップ先に行けないことがあるのは、配達につきまとう、どうしようもないと思っていた悩みです。
いつも赤信号になる交差点、開かずの踏切、前方の遅い車、横断できない広い道路の向かい側へのナビ…、これらは時間を浪費して、ストレスや収益低下をもたらします。
新しく追加した機能「迂回路探索」は、そうした障害を緩和するアイディアを提案します。

ピック先やドロップ先に向かっている時、地図を表示するだけで、現在地から目的地へ向かうためのあらゆる迂回ルートを提示します。

その中で、使えるルートが見つかれば、障害を回避できるかもしれません。

代替ルートをリアルタイムで教えてくれる機能はGoogleマップ等にも搭載されています。それは便利ではありますが、コンパニオンの「迂回路探索」は、より多くの細かいルートを提示できます。
いつも信号待ちしている交差点に実は回避ルートがあることや、バイクや自転車なら通れる小道でショートカットできることを発見できるかも。

設定して、ナビして、地図を開くだけ

まず、設定の「地図」から「迂回路探索」をオンにします。
あとは、ピック先やドロップ先にナビボタンをタップして向かうだけです。
フルスクリーン地図を表示すれば、いつでも迂回路を探索できます。
信号待ち、渋滞で停車中、ピック待ち、エレベータ待ち等の隙間時間に、フルスクリーン地図を開いてみてください。

この機能は“答え”ではなく“ヒント”です

コンパニオンの他のすべての機能と同様、仕組みを理解できてこそ使いこなせます。
・青色の線は、最短ルートです。これがノーマルルートです。
・オレンジ色の線は、迂回ルートです。これを使うと、問題を回避できる可能性があります(し、回避できない可能性もあります)。
・一方通行、右左折禁止等、実際は通行できないルートが示される可能性があります
・代替ルート探索のアルゴリズムとして、代替になりえることが条件になっています。つまり、他のルートと同じでない量が条件になっているので、無意味な大回りルートを生成することがあります(大回りをすることで他のルートと差が生じ、代替ルート候補にされる)。
・直線で30km以上離れた目的地の場合は、探索しません。
ナビボタンをタップして目的地に向かった場合のみ機能します
・メンテナンス等により、ルート探索用サーバーが停止している場合は、使えなくなることがあります
・数秒おきに自動更新します。
・フルスクリーン地図を表示している時だけ、機能しています。

左下ボタンでできること

迂回路探索を表示している時は左下にボタンを表示します。
機能の意味は以下の通りです。

知っておくと快適になる設定

「キー割り当て」で、物理キーにフルスクリーン地図を設定すると、素早く迂回路探索を見れます。
オーバーレイを一定時間操作しなかった場合や、一定速度以上で移動すると「自動最小化」が働きます。フルスクリーン地図を閉じて欲しくない時は、それらを変更してください。

失敗したルートも、次の武器になる

「迂回路探索」は、正しいルートを示すわけではありません。使えるルートがあるかもしれないという、考えるための材料を提供します。そのルートが機能するかは、結局、考えて判断しなければなりません。
示されたルートに行ってみて、失敗することが起こると思います。ルートを変えたことでかえって遅くなったとか、通行できない道に迷い込んだとか、そうした経験も含めて、勘や判断力が鍛えられ、道を知っている一段上の配達員になるのだと思います。それに、新しいチート道が発見できるのは、痛快です。

2026年6月15日月曜日

見えない問題を可視化し、見えにくい配達先を見える化しました


見えないが見えるに


経由地点アニメーションを強化したらメモリが限界だった

「乗車の予定表」の情報を取得できるフローモード機能を使った時に、地図に表示する経由地点の順序を分かりやすくすることを目的に、線をアニメーションするようにしました。
ところが、そのアニメーション負荷が高いためか、メモリ不足によるクラッシュが多発してしまいました。幸い、ベータ版の段階で発見できたので、大半の方には影響はありませんでした(ご協力いただいた方ありがとうございました。)。
その調査中に、メモリの残り状態をコンパニオンパネルに表示する機能を実装しましたが、今後のことも考えてそのままにしておくことにします。

そのメモリ残量は、設定のコンパニオンパネルウィンドウで、メモリ残量をオンにすることで表示できます。

オレンジ色の縦長バーはメモリ残量を示します。少なくなると使われなくなったメモリが解放されて、縦長バーが伸びる様子を観察できます。基本的に、その動きを繰り返すのが正常です。
縦長バーが最後までなくなってクラッシュした場合、メモリが不足したのかもしれません。

リクエスト受諾前に全体像を一瞬で把握。「リクエスト地図」追加

以前、「呼び出し時P/D地図」と呼んでいたものと同じ役割の機能を、また実装しました。
リクエストが入った瞬間に、ピック先やドロップ先をコンパニオンの地図で確認できます。公式配達員アプリで普通に見ることができるのですが、実質、上半分程度の大きさなので、パッと見て分かりにくいことがあります。
コンパニオンの「リクエスト地図」は、現在地、ピック先、ドロップ先の範囲全体をフルスクリーンで初期表示できます。

さらにBluetoothやFCMで別の端末に転送することもでき、それであれば公式配達員アプリの操作を妨げません。

設定に追加した「リクエスト地図」ボタンから使うことができます。

・この端末
公式配達員アプリが動いているその端末でリクエスト地図を表示します。
さらに「地図を最大化」チェックボックスをオンにすると、自動で画面いっぱいの地図を表示します。ただし、それでは、地図を閉じないと公式配達員アプリを操作できないのであまりおすすめはしません。
・Bluetoothで他の端末に転送
あらかじめBluetoothにより接続設定されている端末上で、最大化されたリクエスト地図を表示します。
・FCMで他の端末に転送
FCMで、他の端末に送信し、最大化されたリクエスト地図を表示します。送信元端末と送信先端末のコンパニオンが、同じGoogleアカウントで使われている必要があります。

ピック先やドロップ先の位置は、リクエスト時に表示されている情報をもとにジオコーディングした座標や、Historyページで登録された登録済ピック位置の情報を利用しています。公式配達員アプリが内部で保持する情報に基づくものではありませんので、リクエスト地図に表示されるピック先やドロップ先の地点は、不正確になる可能性があります
ジオコーディングの結果、ピック先やドロップ先の位置が特定できないことや、まったく異なることがあります
登録済ピック位置で個別のピック位置を登録しておけば、ピック先に関しては正確になります。
リクエスト地図を表示する端末で現在地が取得できない場合、リクエスト地図自体表示されません。
現在地→ピック先→ドロップ先の順で、直線またはルート探索した線で結びます。ピック先の位置が不明な場合、線で結ばれません。
ルート探索は独自のサーバーで行っていますが、メンテナンスのため停止することがあります。その場合、ルート探索は行われず、直線で結ばれます。


このリクエスト地図はリクエストが入った時に、受諾するか否か判断する助けになります。以前に「呼び出し時P/D地図」を実装していましたが、廃止したものの、やはり自分自身こうした機能が欲しくて改めて作りなおした次第です。

ToDo

有給休暇を管理できるアプリをダウンロード