Resumen
GitHub:
https://github.com/brianmcleer/time-machine-widget
Time Machine es un widget personalizado para ArcGIS Experience Builder Developer Edition 1.19 y posteriores (probado en 1.21). Coloca un control deslizante de fecha en el mapa y hace que todas las capas con fechas lo sigan. Arrastra a una fecha y el mapa muestra qué había en esa fecha.
No necesita servicios habilitados para tiempo. El widget lee los campos de cada capa, selecciona el campo de fecha y aplica un filtro encima de cualquier filtro que la capa ya tenga. Las capas de entidades se filtran en la vista de capa en el navegador. Las capas de imagen del mapa con subcapas fechadas se filtran con una expresión de definición y solicitan una imagen nueva después de cada cambio.
Lo construimos para nuestra historia de anexiones, que se remonta a 1882 y vive en un servicio de mapas con una subcapa por año o década. También funciona en una sola capa de entidades con un campo de fecha.
(Disculpas por la captura de pantalla, la nueva Comunidad Esri no acepta archivos de video)
Qué hace
- Modos As of, Range y Compare. Compare muestra dos fechas lado a lado detrás de un divisor que puedes arrastrar.
- Avanza por día, mes o año, o cada N de esos desde una opción Avanzada. Reproduce con velocidad, bucle, Restablecer y Hoy, además de Cambio anterior y Cambio siguiente para saltar entre fechas donde ocurrió algo.
- El rango del control deslizante proviene de los datos: se ajusta a las fechas más antiguas y más recientes de las capas activas y se reajusta cuando se activan o desactivan capas en el mapa.
- Gráfico de actividad con entidades por año o mes en ambos ejes.
- Una lista de capas que muestra qué capas siguen el control deslizante, qué campo de fecha usa cada una y por qué se omitió alguna capa.
- Modo presentación: un gran banner con la fecha en el mapa con reproducción, capítulos, una cuadrícula de capítulos con miniaturas, un foco, dibujo en el mapa, pantalla en blanco y negro, lectura en voz alta, ventana del presentador con notas y reloj, atajos de teclado, enlaces para kioscos y un botón de velocidad. Los capítulos pueden configurar capas, mapa base, un lugar, un vuelo o un corte, un popup de entidad y tiempo de espera. Colores, fuente y logo del banner se configuran en el constructor.
- Capítulos narrativos creados en tiempo real desde la vista actual o generados desde los años más activos en los datos, con exportación a presentación web, video WebM o XML para el constructor.
- Configuraciones del constructor con selector de capas leído del mapa (capas grupales como encabezados), reglas para capas que el selector no puede ver, conjuntos anuales para grupos de instantáneas anuales, secciones de rendimiento, presentación y marca, e importación/exportación XML de toda la configuración.
- Guía de ayuda dentro del widget, sugerencia al primer uso, acceso por teclado y anuncios para lectores de pantalla por todo el widget.
Requisitos
- Experience Builder Developer Edition 1.19 o posterior, React 19. Probado en 1.21 con Maps SDK 5.x.
- Sin dependencias externas. Todo proviene de Experience Builder.
Instalación
- Descarga el zip desde la última versión en GitHub (adjunto aquí también).
- Copia la carpeta
time-machine dentro de client\your-extensions\widgets\ para que manifest.json esté directamente dentro de widgets\time-machine\. No la anides a un segundo nivel. - Ejecuta
pnpm install (1.21 y posteriores) o npm install (1.20 e inferiores) dentro de la carpeta client y reinicia el cliente. - Agrega Time Machine a una experiencia y selecciona el widget del mapa que controla.
El zip contiene solo el widget. Los shims del editor Visual Studio en el repositorio se omiten a propósito porque sus declaraciones modulares ambientales afectarían a todos los demás widgets en tu carpeta your-extensions. Si clonas el repositorio en su lugar, elimina esos archivos antes de compilar; están listados en el README.
Limitaciones conocidas
- Las capas ráster y las imágenes solo funcionan mediante conjuntos anuales (capas grupales cuyos hijos están nombrados por año).
- Un servicio de mapas dibuja una imagen por cambio; así que en un servicio lento Reproducir muestra menos imágenes que pasos. La fecha mantiene su ritmo y el mapa muestra la fecha más reciente posible.
- El modo cliente lee hasta un límite del constructor por capa (50,000 por defecto). Capas más grandes usan estadísticas del servidor para el rango.
- La lectura en voz alta usa las voces del navegador y requiere un clic previo en la página. La exportación a video es WebM.
Comentarios
Se aceptan problemas e pull requests en GitHub. Si se omite una capa o el rango parece incorrecto, la lista de capas en el widget indica por qué y la consola del navegador tiene una línea que comienza con [time-machine], que explica lo demás.
Registro de cambios
- 25 septiembre 2026: 1.0.0. Primera versión pública, en GitHub con archivo zip.