概要
GitHub:
https://github.com/brianmcleer/time-machine-widget
Time MachineはArcGIS Experience Builder Developer Edition 1.19以降(1.21でテスト済み)向けのカスタムウィジェットです。地図上に1つの日時スライダーを配置し、すべての日時付きレイヤーがそれに連動します。スライダーをドラッグして日付を選ぶと、その日付時点の地図表示がされます。
時間対応サービスは不要です。ウィジェットは各レイヤーのフィールドを読み取り、日時フィールドを選択し、既存のフィルターに加えてフィルターを適用します。フィーチャーレイヤーはブラウザ内のレイヤービューでフィルタリングされます。日時付きサブレイヤーを持つマップイメージレイヤーは定義式でフィルタリングされ、変更ごとに新しい画像が要求されます。
1882年まで遡る編入履歴用に作成しました。この履歴は年または10年ごとにサブレイヤーがあるマップサービスに格納されています。また、単一の日時フィールドを持つ単一のフィーチャーレイヤーでも動作します。
(スクリーンショットで失礼します。新しいEsri Communityでは動画ファイルが受け付けられません)
機能内容
- As of、Range、Compareモードがあります。Compareモードでは2つの日付を区切り線の両側に並べて表示し、その区切り線はドラッグ可能です。
- 日、月、年単位でステップ移動でき、高度なオプションでN単位ごとのステップも可能です。速度調整、ループ再生、リセット、今日へのジャンプ、さらに前回変更・次回変更ボタンで変化があった日付間を移動できます。
- スライダーの範囲はデータから取得します:オンになっているレイヤーの最古と最新の日付に合わせて調整され、地図上でレイヤーのオン・オフがあるたびに再調整されます。
- 両軸に年または月ごとのフィーチャー数を示すアクティビティチャート。
- スライダーに連動するレイヤー一覧、それぞれが使用する日時フィールド、スキップされた理由を表示するレイヤーリスト。
- プレゼンテーションモード:地図上に大きな日付バナーを表示し、再生、チャプター、サムネイル付きチャプターグリッド、スポットライト、地図への描画、白黒画面読み上げ機能、ノートと時計付きプレゼンタウィンドウ、キーボードショートカット、キオスクリンク、速度ボタンがあります。チャプターはレイヤー設定、ベースマップ、場所設定、フライトやカット設定、フィーチャーポップアップや保持時間も設定可能です。バナーの色・フォント・ロゴはビルダーで設定します。
- 現在のビューから実行時に作成するストリーチャプターやデータ内の最も活発な年から生成するチャプターがあり、それらはウェブスライドショーやWebM動画、ビルダー用XMLとしてエクスポート可能です。
- ビルダー設定にはマップから読み取るレイヤーピッカー(グループレイヤーは見出しとして扱う)、ピッカーが認識できないレイヤールール、年間スナップショットのグループ用年セット、パフォーマンス・プレゼンテーション・ブランディングセクション、および全構成のXMLインポート・エクスポートがあります。
- ウィジェット内ヘルプガイド、初回起動ヒント、キーボードアクセスおよびスクリーンリーダーによる案内機能付き。
要件
- Experience Builder Developer Edition 1.19以降、React 19対応。1.21およびMaps SDK 5.xでテスト済み。
- サードパーティ依存なし。すべてExperience Builder由来です。
インストール方法
- 最新GitHubリリースからzipファイルをダウンロードしてください(ここにも添付しています)。
time-machineclient\your-extensions\widgets\manifest.jsonwidgets\time-machine\ に直接配置してください。二重階層にはしないでください。pnpm installnpm installclient フォルダー内で実行し、その後クライアントを再起動してください。- Time Machineをエクスペリエンスに追加し、それが操作するマップウィジェットを選択してください。
zipファイルにはウィジェットのみが含まれています。Visual Studioエディター用のリポジトリ内シムファイルは意図的に除外しています。それらのambient module宣言は your-extensions フォルダー内の他ウィジェットすべてに影響するためです。もしリポジトリをクローンした場合はビルド前にそれらファイルを削除してください;READMEに一覧があります。
既知の制限事項
- タイルレイヤーとイメージは年セット(子が年名で構成されたグループレイヤー)経由のみ対応しています。
- マップサービスは変更ごとに1枚ずつ画像を描画するため遅いサービスではPlay時にステップ数より少ない画像しか表示されません。日付は一定ペースですが地図には最新の日付が表示されます。
- クライアントサイドモードではビルダー設定上限まで(デフォルト50,000件)のフィーチャーを読み込みます。それ以上大きいレイヤーはサーバ統計情報から範囲を取得します。
- 読み上げ機能はブラウザ音声を使用しページ上で一度クリックが必要です。動画エクスポート形式はWebMです。
フィードバックについて
問題報告やプルリクエストはGitHubで歓迎します。もしレイヤーがスキップされたり範囲がおかしい場合はウィジェット内のレイヤーリストで理由が示されます。またブラウザコンソールには [time-machine] で始まる行が詳細情報を出力しています。
更新履歴
- 2026年9月25日: 1.0.0 初公開リリース(GitHub上およびリリースzip付き)