GoogleマップのタイムラインJSONから移動ルートをアニメーション動画にするツールを作った

Google マップ / タイムライン / 自作ツール / 位置情報


YAMAPで山登りをすると、活動後に歩いた軌跡を見返せるのが楽しいです。

YAMAPには「3Dリプレイ」という機能があり、活動日記の移動経路を3D地図上で再生できます。公式ヘルプでも、活動日記ページから使える機能として紹介されています。

👉 YAMAP LABO 3Dリプレイ機能とは?

YAMAP INFO blogでも、活動日記のページから3Dリプレイを開始でき、動画を書き出してSNSなどで共有できることが案内されています。

👉 3Dリプレイが新しくなりました | YAMAP INFO blog

それを見ていて、ふと思いました。

Google マップのタイムラインでも、似たようなことができたら面白いのではないか。

山登りだけではなく、旅行、散歩、車での移動、知らない街を歩いた日。Google マップのタイムラインには、そういう移動履歴が残っています。

そのJSONを読み込んで、地図上で移動ルートをアニメーション再生できるツールを作れば、YAMAPの動画みたいに見返せるのではないか。そう思って作ったのが、移動履歴アニメーターです。

👉 移動履歴アニメーター

作ったもの

移動履歴アニメーターは、Google マップアプリから書き出したタイムラインのJSONファイルを読み込んで、指定した日の移動ルートを地図上でアニメーション再生し、動画として保存できるツールです。

できることは大きくこのあたりです。

YAMAPの3Dリプレイのように、山の地形を3Dで見せたり、写真と合わせて見せたりするものではありません。OpenStreetMapの地図上に移動の軌跡を描いて、それをアニメーションとして再生するだけのシンプルなツールです。でも、自分がまず欲しかったのはそれでした。

タイムラインのバックアップを見返す道具が欲しかった

もうひとつ理由があります。

昔のGoogle マップのタイムラインは、クラウドに保存されている感覚が強かったです。機種変更しても、Googleアカウントにログインすれば過去の移動履歴を見られるものだと思っていました。

でも今は状況が変わっています。Googleのヘルプでは、タイムラインのデータは端末上のデータを元に表示されること、バックアップを有効にしていれば別端末へインポートできることが説明されています。

👉 Manage your Google Maps Timeline - Google Maps Help

つまり、機種変更やバックアップのタイミングを間違えると、過去の移動履歴を失う可能性があります。

一応、たまにタイムラインのJSONを書き出してバックアップは取っています。いざデータが飛んで「この日どこを通ったか確認したい」と思っても、地図上で見返せる道具がなければバックアップが活きません。

地図上で見返せるツールがあれば、バックアップが実際に役立てられます。それが欲しかったのです。

ブラウザ内だけで処理する

位置情報はかなり個人的なデータなので、読み込んだJSONをサーバーに送る作りにはしたくありませんでした。

移動履歴アニメーターでは、JSONの読み込み、解析、地図への表示、アニメーション再生をすべてブラウザ内で処理しています。ファイルの中身はサーバーへ送信しません。

録画についてはブラウザの対応状況に左右されます。PC版のChromeやEdgeでは比較的動きますが、iPhone / iPadはブラウザ制限により録画非対応です。Android Chromeも端末やChromeの実装差で保存が不安定な場合があります。

まずは「タイムラインJSONを読み込んで、地図上で経路を確認する」ことを中心にしました。

タイムラインのデータはまだ使い道がありそう

今回は、YAMAPの3Dリプレイを見て「こういう移動ルート動画をGoogle マップのタイムラインでも作れたらいいな」と思ったのがきっかけでした。

タイムラインのデータはほかにも使い道がありそうです。たとえば、

位置情報なので扱いには注意が必要ですが、自分の手元だけで処理するなら、できることはまだあります。今回はその第一歩として、移動履歴アニメーターを作りました。

Google マップのタイムラインは、ただの移動記録です。でも、見返すと意外と記憶が戻ってきます。あの日どこを歩いたか、どこで寄り道したか、どの道を通ったか。そういうものを、もう少し楽しく見返せるようにしたかったのです。