Übersicht
GitHub:
https://github.com/brianmcleer/time-machine-widget
Time Machine ist ein benutzerdefiniertes Widget für ArcGIS Experience Builder Developer Edition 1.19 und höher (getestet mit 1.21). Es platziert einen Datums-Schieberegler auf der Karte und lässt jede datierte Ebene diesem folgen. Ziehen Sie den Regler zu einem Datum, und die Karte zeigt, was an diesem Datum dort war.
Es benötigt keine zeitaktivierten Dienste. Das Widget liest die Felder jeder Ebene aus, wählt das Datumsfeld aus und wendet einen Filter zusätzlich zu dem bereits vorhandenen Filter der Ebene an. Feature-Layer werden in der Layer-Ansicht im Browser gefiltert. Kartenbild-Layer mit datierten Sublayern werden mit einem Definitionsausdruck gefiltert und nach jeder Änderung wird ein neues Bild angefordert.
Wir haben es für unsere Annexion-Geschichte entwickelt, die bis ins Jahr 1882 zurückreicht und in einem Kartendienst mit einem Sublayer pro Jahr oder Jahrzehnt gespeichert ist. Es funktioniert auch mit einem einzelnen Feature-Layer mit einem Datumsfeld.
(Entschuldigung für den Screenshot, die neue Esri Community akzeptiert keine Videodateien)
Was es macht
- Modi As of, Range und Compare. Compare zeigt zwei Daten nebeneinander hinter einem verschiebbaren Trenner.
- Schrittweise nach Tag, Monat oder Jahr oder alle N davon über eine erweiterte Option. Spielen Sie mit Geschwindigkeit, Schleife, Zurücksetzen und Heute sowie Vorherige Änderung und Nächste Änderung, um zwischen Daten zu springen, an denen sich etwas geändert hat.
- Der Schiebereglerbereich stammt aus den Daten: Er passt sich an das älteste und neueste Datum der eingeschalteten Layer an und passt sich an, wenn Layer in der Karte ein- oder ausgeschaltet werden.
- Aktivitätsdiagramm mit Features pro Jahr oder Monat auf beiden Achsen.
- Eine Layer-Liste, die zeigt, welche Layer dem Schieberegler folgen, welches Datumsfeld jeder verwendet und warum ein Layer übersprungen wurde.
- Präsentationsmodus: Ein großes Datumsbanner auf der Karte mit Wiedergabe, Kapiteln, einem Kapitelraster mit Miniaturen, einem Spotlight, Zeichnen auf der Karte, Schwarz-Weiß-Bildschirm, Vorlesen, einem Präsentatorfenster mit Notizen und Uhrzeit, Tastenkürzeln, Kiosk-Links und einer Geschwindigkeits-Schaltfläche. Kapitel können Layer, Grundkarte, einen Ort, einen Flug oder Schnitt, ein Feature-Popup und eine Haltezeit festlegen. Farben, Schriftart und ein Logo für das Banner werden im Builder eingestellt.
- Story-Kapitel zur Laufzeit aus der aktuellen Ansicht erstellt oder aus den geschäftigsten Jahren in den Daten generiert, mit Export als Web-Diashow, WebM-Video oder XML für den Builder.
- Builder-Einstellungen mit einem Layer-Auswahlwerkzeug aus der Karte (Gruppenlayer als Überschriften), Regeln für Layer, die der Auswahl nicht sichtbar sind, Jahrensets für Gruppen von jährlichen Schnappschüssen, Leistungs-, Präsentations- und Branding-Bereiche sowie XML-Import und -Export der gesamten Konfiguration.
- Hilfeführer im Widget, Hinweis beim ersten Start, Tastaturzugang und Bildschirmleseransagen überall.
Anforderungen
- Experience Builder Developer Edition 1.19 oder höher, React 19. Getestet mit 1.21 und Maps SDK 5.x.
- Keine Abhängigkeiten von Drittanbietern. Alles kommt aus Experience Builder.
Installation
- Laden Sie die ZIP-Datei vom neuesten GitHub-Release herunter (hier ebenfalls angehängt).
- Kopieren Sie den
time-machine Ordner in client\your-extensions\widgets\ so dass manifest.json direkt innerhalb von widgets\time-machine\ liegt. Verschachteln Sie ihn nicht tiefer als eine Ebene. - Führen Sie
pnpm install (1.21 und höher) oder npm install (1.20 und niedriger) im client Ordner aus und starten Sie den Client neu. - Fügen Sie Time Machine zu einer Experience hinzu und wählen Sie das Karten-Widget aus, das gesteuert wird.
Die ZIP enthält nur das Widget. Die Visual Studio Editor-Shims im Repository sind absichtlich weggelassen worden, da deren Ambient-Modul-Deklarationen alle anderen Widgets in Ihrem your-extensions Ordner beeinflussen würden. Wenn Sie stattdessen das Repository klonen, löschen Sie diese Dateien vor dem Bauen; sie sind im README aufgeführt.
Bekannte Einschränkungen
- Tile-Layer und Bilddaten werden nur über Jahrensets gesteuert (Gruppenlayer deren Kinder nach Jahr benannt sind).
- Ein Kartendienst zeichnet pro Änderung ein Bild; bei langsamen Diensten zeigt Play daher weniger Bilder als Schritte an. Das Datum behält sein Tempo bei und die Karte zeigt das neueste verfügbare Datum an.
- Der Client-seitige Modus liest bis zu einer Builder-Obergrenze von Features pro Layer (standardmäßig 50.000). Größere Layer verwenden Serverstatistiken für den Bereich.
- Vorlesen nutzt die Stimmen des Browsers und benötigt zuerst einen Klick auf die Seite. Videoexport ist WebM.
Feedback
Probleme und Pull Requests sind auf GitHub willkommen. Wenn ein Layer übersprungen wird oder der Bereich falsch erscheint, sagt die Layer-Liste im Widget warum, und die Browser-Konsole enthält eine Zeile beginnend mit [time-machine], die weitere Informationen liefert.
Änderungsprotokoll
- 25. September 2026: 1.0.0. Erste öffentliche Version auf GitHub mit Release-ZIP.