Google タイムライン ビジュアライザーのソースコード:セットアップガイド - GitHub

Google タイムライン ビジュアライザーのソースコード:セットアップガイド

Google タイムライン ビジュアライザーのソースコードの仕組み、デスクトップ版 Python の設定、Android リリースのビルド方法、タイムラインデータの保護について説明します。

2026-08-25
Google タイムライン ビジュアライザー チーム
クイックガイド
  • 主要キーワード: Google タイムライン ビジュアライザーのソースコードは、Android、iPhone のウェブ、デスクトップでのワークフローをカバーします。
  • 主な入力データ: アニメーション旅行動画を作成する前に、ローカルの Timeline.json ファイルをエクスポートします。
  • デスクトップのセットアップ: Python 3.9 以降、FFmpeg、および requirements.txt に記載されたパッケージをインストールします。
  • Android ビルド: JDK 17、Android SDK Platform 36、Build Tools 36.0.0 を使用します。
  • プライバシーモデル: タイムラインデータはローカルに保持され、ベースマップタイルは CARTO にリクエストされます。

Google タイムライン ビジュアライザーのソースコード概要

GitHub の Google Timeline Visualizer リポジトリ は、エクスポートした Google マップのタイムラインファイルをアニメーション旅行動画に変換する、ソースコードが公開されたプロジェクトです。一般的なゲームやエンターテインメントプラットフォームではありません。主な目的は、ローカルでのタイムライン処理、アニメーション地図の描画、MP4 の作成、そしてプライバシーに配慮したファイル処理です。

このプロジェクトには、Android アプリ、iPhone ウェブアプリ、元となるデスクトップ版 Python ジェネレーターが用意されています。これらのバージョンでは、基本的に同じワークフローを使用します。タイムラインデータをエクスポートし、期間を選択し、ルートをプレビューして、動画をレンダリングします。

コンポーネント主な役割主な環境
Android アプリタイムラインファイルをインポートして MP4 動画をレンダリングAndroid 8.0 以降
iPhone ウェブアプリSafari でエクスポートした JSON ファイルを処理iPhone Safari
デスクトップジェネレーターコマンドラインまたは Python ワークフローから動画を作成Python を搭載したデスクトップ
リポジトリのビルドツールAndroid バリアントのテスト、Lint、アセンブルJDK 17 と Android SDK

ローカルファイル処理

タイムライン JSON はデバイスストレージから選択されます。このプロジェクトでは、アカウントベースのクラウドワークフローにソースファイルをコピーしません。

アニメーション旅行

ルートマーカーが選択した移動履歴に沿って進みます。移動がまばらな旅行向けの補間や、カメラ移動の設定にも対応しています。

動画ライブラリ

完成した MP4 ファイルは、アプリのインターフェースからインデックス登録、再生、共有、移動、削除を行えます。

リポジトリの重点

このプロジェクトはローカルの可視化パイプラインとして扱ってください。重要なセットアップ項目は、アカウントへのログインではなく、ファイルアクセス、レンダリング依存関係、マップタイル、ビルドツールです。

タイムラインのエクスポートと入力形式

ビジュアライザーを使用するには、エクスポートしたタイムラインファイルが必要です。iPhone では、Google マップの プロフィール写真 → 設定 → 個人的なコンテンツ → タイムラインデータをエクスポート からデータをエクスポートします。作成された Timeline.json ファイルを「ファイル」アプリに保存し、Safari から選択してください。

Android では、Google マップ内から直接ではなく、スマートフォンの「設定」アプリを使用してエクスポートします。設定 → 位置情報 → 位置情報サービス → タイムライン を開き、タイムラインデータをエクスポート を選択して、Downloads などのアクセスしやすい場所にファイルを保存します。

プラットフォームエクスポート手順次の操作
iPhoneGoogle マップの個人的なコンテンツ設定Safari でウェブアプリを開く
Androidスマートフォンの設定、位置情報サービス、タイムラインアプリで JSON ファイルを選択
デスクトップエクスポートしたタイムラインファイルをコンピューターにコピーPython ジェネレーターにファイルを渡す
復元した履歴最初に Google マップで履歴を復元その後、新しい JSON ファイルをエクスポート

このソースコードは、現在の Android および iOS の直接配列形式のエクスポートに加え、semanticSegments 構造を使用する古いファイルにも対応しています。また、文字列値、latLng、度数ベースの値、geo: 座標、E7 座標など、複数の座標表現を認識できます。

対応するルートデータには、次のようなものがあります。

  • タイムラインの経路
  • アクティビティ
  • 訪問
  • まばらな長距離ルート
  • 国際日付変更線をまたぐルート
  • 警告とローカルでのノイズ低減を伴う、オプションの生の位置情報
エクスポート前に復元

スマートフォンの変更やリセット後に以前の旅行が見つからない場合は、まず Google マップで履歴を復元してください。Timeline Visualizer は Google の暗号化されたバックアップに直接アクセスできません。

公式のエクスポートおよび復元方法については、Google マップのタイムライン ヘルプを参照してください。このガイドでは 2026 年 8 月 25 日に内容を確認しています。

ステップごとのセットアップと動画レンダリング

最も簡単なワークフローは、JSON ファイルを準備し、日付範囲を選択し、ルートをプレビューして、MP4 を作成する方法です。正確なメニュー名はスマートフォンの機種によって多少異なる場合がありますが、プロジェクトの基本的な手順は共通しています。

1

Timeline.json を準備

Google マップまたは Android の位置情報設定からタイムライン履歴をエクスポートします。ブラウザー、ファイルマネージャー、またはアプリからアクセスできる場所にファイルを保存してください。

2

旅行の範囲を選択

動画作成フローを開き、タイムラインファイルを選択して、月単位の範囲または正確な日付を指定します。短い旅行だけを切り出す場合は、正確な日付が便利です。

3

プレビューを設定

距離の単位とカメラ移動スタイルを選択し、アニメーション化されたルートをプレビューします。最終レンダリングを開始する前に、地図の動きを確認してください。

4

MP4 を作成

動画の作成を開始し、進行状況を確認します。アプリには処理段階が表示され、残り時間が推定される場合があります。レンダリング中はキャンセルも可能です。

5

結果を保存または共有

完成した動画をローカルライブラリから開き、再生、共有するか、保存コントロールを使って別の場所にコピーします。

設定利用可能な動作実用的な用途
日付範囲月単位の範囲または正確な日付1 回の旅行や、より広い履歴に焦点を当てる
距離の単位選択可能な単位視聴者や地域に合わせる
カメラ移動設定可能な移動スタイル見やすい安定した動きにする
GPS フィルタリングデフォルトは保守的、または Off不自然な孤立した往復地点を減らす
プレビューインタラクティブなルートプレビューレンダリング前にタイミングと地図の動きを確認する

レンダリング中は、より古い移動履歴が移動するマーカーの後ろで徐々に薄く表示されるため、長期間のタイムラインでも追いやすくなります。長距離のフライトを含むまばらなルートは、大円航路に沿って補間されます。近距離の移動では、カメラがマーカーを追従する前に、マーカーを安定した中央エリア内に保つことができるため、通勤などでカメラが急激に動くのを抑えられます。

完成した動画の最後には、全ルートを表示する 1.5 秒間のズームアウト演出が追加され、全体図が短時間保持されます。Android 10 以降では、完成したファイルは Movies/Timeline Visualizer に保存されます。Android 8 および 9 では、システムの「名前を付けて保存」ピッカーが使用されます。

レンダリングの確認

最終 MP4 を作成する前に、旅行全体をプレビューしてください。これにより、日付範囲が広すぎないか、予期しない GPS 地点がないか、ルートに合わないカメラ移動になっていないかを確認できます。

デスクトップ版 Python と Android ビルド

Python ベースの処理を好むユーザー向けに、元のデスクトップジェネレーターも引き続き利用できます。文書化されている要件は、Python 3.9 以降、FFmpeg、および requirements.txt に記載されたパッケージです。

基本的な依存関係のセットアップは次のとおりです。

python -m pip install -r requirements.txt

リポジトリのドキュメントには、visualizer.py、入力するタイムラインファイル、選択した年、カメラ移動オプションを使用した Python の実行例も記載されています。

python visualizer.py --input Timeline.json --year 2026 --camera-movement steady

このコマンドを開始点として使用し、大規模なバッチ処理をスクリプト化する前に、現在のリポジトリで利用できる引数を確認してください。ファイルパス、日付の選択、利用可能なオプションは、チェックアウトしたリビジョンに合わせる必要があります。

ビルド対象必須ツール検証コマンド
デスクトップ版 Python ジェネレーターPython 3.9 以降、FFmpeg、requirements.txtエクスポートした JSON ファイルで Python ジェネレーターを実行
Android デバッグビルドJDK 17、Android SDK Platform 36./gradlew assembleGithubDebug
Android Play ビルドJDK 17、Android SDK Platform 36./gradlew assemblePlayDebug
Android 品質チェックGradle ツールチェーン./gradlew test lint
Python テスト開発用要件python -m pip install -r requirements-dev.txt および python -m pytest

Android 開発向けに文書化されているツールチェーンには、JDK 17Android SDK Platform 36Build Tools 36.0.0 が含まれます。リポジトリのテスト手順では、Android の検証と Python 依存関係のインストール、pytest の実行を組み合わせています。

ビルドの再現性

可能であれば、ローカルの JDK、Android SDK、Build Tools、Python、FFmpeg のバージョンを固定してください。ツールを統一すると、レンダリングやリリース時のトラブルシューティングが容易になります。

参照したドキュメントでは、Android アプリは Google Play ではなく、リポジトリのリリースを通じて配布されています。APK を直接インストールする場合は、リポジトリからリリースアセットをダウンロードし、インストールパッケージを選択する際にチェックサムファイルを避けてください。この配布方法では、Android によって Google Play 外からのインストールに関する警告が表示される場合があります。

プライバシー、ストレージ、トラブルシューティング

プライバシーは、このプロジェクトの設計における中心的な要素です。タイムライン JSON ファイルはアップロードされません。プロジェクトで説明されているネットワーク依存機能はベースマップのみです。CARTO は表示された地図エリアへのリクエストを受け取り、OpenStreetMap データに基づくタイルを提供します。

つまり、ルートファイルとマップタイルは分けて考える必要があります。

データまたはサービスプロジェクトの動作プライバシー上の考慮事項
タイムライン JSONローカルで処理アプリによってファイルがアップロードされることはない
Google サインインタイムラインへのアクセスに不要サインインによってスマートフォンのタイムライン履歴が公開されることはない
CARTO ベースマップ表示する地図エリアをリクエストタイルリクエストから閲覧した地域が推測される可能性がある
MP4 出力ローカルに保存ファイルの共有や移動は意図的に行う
動画インデックスローカルのメタデータとサムネイルを保存エントリを削除しても MP4 が削除されるとは限らない

アプリは完成した動画用に小さなローカルインデックスを保持します。エントリには、サムネイル、タイトル、タイムラインの期間、再生時間、作成日などを含めることができます。リストから削除 は MP4 に影響を与えません。一方、動画を削除 は別の確認付き操作であり、ストレージプロバイダーが許可する場合はファイルを完全に削除できます。

ワークフローが失敗した場合は、次のトラブルシューティング手順を使用してください。

  • タイムラインメニューが見つからない場合は、スマートフォンの位置情報設定を確認し、Google の最新のヘルプ表示を参照してください。
  • ファイルを再度開けない場合は、ファイルが移動されていないことと、ストレージ権限が引き続き利用できることを確認してください。
  • 古い旅行が表示されない場合は、Google マップで履歴を復元して、新しい JSON ファイルをエクスポートしてください。
  • プレビューが不安定に見える場合は、GPS フィルタリングとカメラ移動の設定を確認してください。
  • APK をインストールできない場合は、Android のバージョンを確認し、選択したブラウザーまたはファイルマネージャーからのインストールを一時的に許可してください。

ソースコードセットアップチェックリスト:

  • 新しい Timeline.json ファイルをエクスポートする
  • 選択した日付範囲と座標形式を確認する
  • 必要に応じて Python、FFmpeg、または Android ビルドツールチェーンをインストールする
  • MP4 をレンダリングする前にルートをプレビューする
  • マップのプライバシーとローカル動画の保存設定を確認する
マップのプライバシーに関する注意

タイムラインファイルはローカルに保持されますが、ベースマップへのリクエストによって、プレビューやエクスポートした動画に表示される地域が明らかになる可能性があります。機密性の高い履歴を読み込む前に、マップのプライバシーに関する注意事項を確認してください。

FAQ

Q: Google タイムライン ビジュアライザーのソースコードでは何を作成できますか?

エクスポートした Google マップのタイムラインデータをアニメーション旅行動画に変換するツールをサポートしています。Android アプリ、iPhone ウェブアプリ、デスクトップ版 Python ジェネレーターが含まれます。

Q: Timeline Visualizer は私の Timeline.json ファイルをアップロードしますか?

プロジェクトのドキュメントでは、タイムラインファイルはアップロードされないと説明されています。ネットワークを使用するのはベースマップ機能であり、CARTO は表示された地図エリアへのリクエストを受け取ります。

Q: Android プロジェクトのビルドには何が必要ですか?

文書化されている Android の要件は、JDK 17、Android SDK Platform 36、Build Tools 36.0.0 です。リポジトリには、テスト、Lint、ビルドのアセンブル用 Gradle コマンドも用意されています。

Q: このプロジェクトで、失われた Google マップのタイムライン履歴を復元できますか?

いいえ。まず Google マップで履歴を復元し、その後に新しい JSON ファイルをエクスポートしてください。Timeline Visualizer は Google の暗号化されたバックアップに直接アクセスできません。

実用的なおすすめ

エクスポートした JSON、生成した MP4、使用したソースリポジトリのバージョンをそれぞれ分けて記録してください。これにより、元のデータと完成したメディアを混同せず、将来の再レンダリングを簡単に行えます。