TextGoダウンロード

2026年6月15日月曜日

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


見えないが見えるに


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

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

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

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

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

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

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

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

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

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


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

0 件のコメント:

コメントを投稿

ToDo

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