- Palabra clave principal: el código fuente de Google Timeline Visualizer incluye flujos de trabajo para Android, la web en iPhone y ordenadores de escritorio.
- Entrada principal: exporta un archivo local
Timeline.jsonantes de crear un vídeo animado del recorrido. - Configuración de escritorio: instala Python 3.9 o posterior, FFmpeg y los paquetes indicados en
requirements.txt. - Compilación para Android: utiliza JDK 17, Android SDK Platform 36 y Build Tools 36.0.0.
- Modelo de privacidad: los datos de Timeline permanecen en local, mientras que los mosaicos del mapa base se solicitan a CARTO.
Descripción general del código fuente de Google Timeline Visualizer
El repositorio de Google Timeline Visualizer en GitHub es un proyecto cuyo código fuente está disponible y que convierte un archivo exportado de Google Maps Timeline en un vídeo de viaje animado. No es un juego convencional ni una plataforma de entretenimiento. Su objetivo principal es procesar Timeline localmente, representar mapas animados, crear archivos MP4 y gestionar los archivos de forma respetuosa con la privacidad.
El proyecto ofrece una aplicación para Android, una aplicación web para iPhone y un generador de escritorio original en Python. El flujo general es el mismo en todas estas versiones: exportar los datos de Timeline, seleccionar un periodo, previsualizar la ruta y renderizar un vídeo.
| Componente | Función principal | Entorno principal |
|---|---|---|
| Aplicación Android | Importar archivos de Timeline y renderizar vídeos MP4 | Android 8.0 o posterior |
| Aplicación web para iPhone | Procesar un archivo JSON exportado en Safari | Safari en iPhone |
| Generador de escritorio | Crear vídeos mediante la línea de comandos o un flujo de trabajo en Python | Ordenador con Python |
| Herramientas de compilación del repositorio | Probar, analizar y ensamblar variantes de Android | JDK 17 y Android SDK |
Procesamiento local de archivos
El archivo JSON de Timeline se selecciona desde el almacenamiento del dispositivo. El proyecto no copia el archivo de origen a un flujo de trabajo en la nube basado en cuentas.
Recorridos animados
Un marcador sigue el historial de viajes seleccionado, con interpolación para trayectos dispersos y controles de movimiento de la cámara.
Biblioteca de vídeos
Los archivos MP4 terminados pueden indexarse, reproducirse, compartirse, moverse o eliminarse desde la interfaz de la aplicación.
Considera este proyecto como un flujo de visualización local. Las decisiones importantes de configuración están relacionadas con el acceso a archivos, las dependencias de renderizado, los mosaicos del mapa y las herramientas de compilación, no con el inicio de sesión en una cuenta.
Exportación de Timeline y formatos de entrada
El visualizador necesita un archivo de Timeline exportado. En iPhone, exporta los datos desde Google Maps mediante Foto de perfil → Ajustes → Contenido personal → Exportar datos de Timeline. Guarda el archivo Timeline.json resultante en la aplicación Archivos y selecciónalo después desde Safari.
En Android, la exportación se realiza desde la aplicación Ajustes del teléfono, no directamente desde Google Maps. Abre Ajustes → Ubicación → Servicios de ubicación → Timeline, selecciona Exportar datos de Timeline y guarda el archivo en una ubicación práctica, como Descargas.
| Plataforma | Ruta de exportación | Siguiente acción |
|---|---|---|
| iPhone | Ajustes de contenido personal de Google Maps | Abrir la aplicación web en Safari |
| Android | Ajustes del teléfono, Servicios de ubicación, Timeline | Seleccionar el archivo JSON en la aplicación |
| Ordenador | Copiar un archivo de Timeline exportado al ordenador | Pasar el archivo al generador de Python |
| Historial restaurado | Restaurar primero el historial en Google Maps | Exportar después un archivo JSON nuevo |
El código fuente admite las exportaciones actuales de Android e iOS con matrices directas, así como archivos antiguos que utilizan una estructura semanticSegments. También puede reconocer varias representaciones de coordenadas, incluidos valores de texto, latLng, valores expresados en grados, coordenadas geo: y coordenadas E7.
Los datos de ruta compatibles pueden incluir:
- Rutas de Timeline
- Actividades
- Visitas
- Rutas extensas y dispersas
- Rutas que cruzan la línea internacional de cambio de fecha
- Datos de ubicación sin procesar opcionales, con una advertencia y reducción de ruido local
Si faltan viajes antiguos después de cambiar o restablecer el teléfono, restaura primero el historial en Google Maps. Timeline Visualizer no puede acceder directamente a la copia de seguridad cifrada de Google.
Para consultar instrucciones oficiales sobre la exportación y restauración, visita Ayuda de Google Maps Timeline, revisada para esta guía el 25 de agosto de 2026.
Configuración paso a paso y renderizado de vídeos
El flujo más rápido consiste en preparar el archivo JSON, seleccionar un intervalo de fechas, previsualizar la ruta y crear el MP4. Los nombres exactos de los menús pueden variar ligeramente según el modelo del teléfono, pero el proyecto mantiene coherente el proceso principal.
Preparar Timeline.json
Exporta tu historial de Timeline desde Google Maps o desde los ajustes de ubicación de Android. Mantén el archivo en una ubicación a la que puedan acceder el navegador, el gestor de archivos o la aplicación.
Elegir el intervalo del recorrido
Abre el flujo de creación de vídeos, selecciona el archivo de Timeline y elige un intervalo mensual o fechas exactas. Las fechas exactas resultan útiles para aislar un viaje corto.
Configurar la previsualización
Selecciona la unidad de distancia y el estilo de movimiento de la cámara, y después previsualiza la ruta animada. Revisa el movimiento del mapa antes de iniciar el renderizado final.
Crear el MP4
Inicia la creación del vídeo y supervisa el progreso. La aplicación muestra las distintas etapas, puede estimar el tiempo restante y ofrece una opción para cancelar durante el renderizado.
Guardar o compartir el resultado
Abre el vídeo terminado desde la biblioteca local, reprodúcelo, compártelo o utiliza los controles de guardado para copiarlo en otra ubicación.
| Ajuste | Comportamiento disponible | Uso práctico |
|---|---|---|
| Intervalo de fechas | Intervalo mensual o fechas exactas | Centrarse en un único recorrido o en un historial más amplio |
| Unidad de distancia | Unidad seleccionable | Adaptarse a la audiencia y la región |
| Movimiento de la cámara | Estilo de movimiento configurable | Usar un movimiento estable para facilitar la visualización |
| Filtrado GPS | Conservador de forma predeterminada o desactivado | Reducir puntos aislados de ida y vuelta poco plausibles |
| Previsualización | Vista previa interactiva de la ruta | Comprobar el ritmo y el movimiento del mapa antes de renderizar |
Durante el renderizado, los viajes anteriores se desvanecen detrás del marcador en movimiento para que los Timelines más largos sean más fáciles de seguir. Las rutas dispersas, incluidos los vuelos largos, se interpolan siguiendo una trayectoria de círculo máximo. En los desplazamientos locales, el marcador puede mantenerse dentro de una zona central estable antes de que la cámara lo siga, lo que reduce los movimientos rápidos de cámara durante los trayectos habituales.
El vídeo final añade un cierre con alejamiento de 1,5 segundos que muestra la ruta completa y mantiene brevemente la vista general. En Android 10 y posteriores, los archivos terminados se guardan en Movies/Timeline Visualizer. Android 8 y 9 utilizan el selector del sistema Guardar como.
Previsualiza todo el recorrido antes de crear el MP4 final. Esto ayuda a identificar un intervalo de fechas demasiado amplio, puntos GPS inesperados o un movimiento de cámara que no se adapte a la ruta.
Versión de escritorio en Python y compilaciones de Android
El generador de escritorio original sigue disponible para quienes prefieren el procesamiento basado en Python. Los requisitos documentados son Python 3.9 o posterior, FFmpeg y los paquetes incluidos en requirements.txt.
Una configuración básica de dependencias es:
python -m pip install -r requirements.txt
La documentación del repositorio también proporciona un patrón de ejecución de Python que utiliza visualizer.py, un archivo de Timeline de entrada, un año seleccionado y una opción de movimiento de cámara:
python visualizer.py --input Timeline.json --year 2026 --camera-movement steady
Utiliza el comando como punto de partida y confirma los argumentos actuales del repositorio antes de crear scripts para lotes más grandes. Las rutas de los archivos, las fechas seleccionadas y las opciones disponibles deben coincidir con la versión que hayas descargado.
| Objetivo de compilación | Herramientas necesarias | Comando de validación |
|---|---|---|
| Generador de escritorio en Python | Python 3.9+, FFmpeg, requirements.txt | Ejecutar el generador de Python con un archivo JSON exportado |
| Compilación de depuración de Android | JDK 17, Android SDK Platform 36 | ./gradlew assembleGithubDebug |
| Compilación de Android para Play | JDK 17, Android SDK Platform 36 | ./gradlew assemblePlayDebug |
| Comprobaciones de calidad de Android | Cadena de herramientas de Gradle | ./gradlew test lint |
| Pruebas de Python | Requisitos de desarrollo | python -m pip install -r requirements-dev.txt y python -m pytest |
Para el desarrollo de Android, la cadena de herramientas documentada incluye JDK 17, Android SDK Platform 36 y Build Tools 36.0.0. La secuencia de pruebas del repositorio combina la validación de Android con la instalación de dependencias de Python y la ejecución de pytest.
Fija, siempre que sea posible, las versiones locales de JDK, Android SDK, Build Tools, Python y FFmpeg. Un conjunto de herramientas coherente facilita la resolución de problemas de renderizado y publicación.
La aplicación de Android se distribuye mediante las versiones del repositorio y no a través de Google Play, según la documentación de referencia. Si instalas un APK directamente, descarga el archivo de la versión desde el repositorio y evita los archivos de sumas de comprobación al seleccionar el paquete de instalación. Android puede mostrar una advertencia sobre instalaciones externas a Play para este método de distribución.
Privacidad, almacenamiento y solución de problemas
La privacidad es una parte fundamental del diseño del proyecto. El archivo JSON de Timeline no se sube. La única función que depende de la red descrita en el proyecto es el mapa base: CARTO recibe solicitudes de las zonas del mapa mostradas y proporciona mosaicos basados en datos de OpenStreetMap.
Esto significa que el archivo de ruta y los mosaicos del mapa deben considerarse por separado:
| Datos o servicio | Comportamiento del proyecto | Consideración de privacidad |
|---|---|---|
| JSON de Timeline | Se procesa localmente | La aplicación no sube el archivo |
| Inicio de sesión de Google | No es necesario para acceder a Timeline | El inicio de sesión no puede exponer el historial de Timeline del teléfono |
| Mapa base de CARTO | Solicita las zonas visibles del mapa | Las solicitudes de mosaicos revelan las regiones del mapa consultadas |
| Salida MP4 | Se guarda localmente | Comparte o mueve los archivos de forma intencionada |
| Índice de vídeos | Almacena metadatos locales y miniaturas | Eliminar una entrada no necesariamente elimina el MP4 |
La aplicación mantiene un pequeño índice local de los vídeos terminados. Las entradas pueden incluir una miniatura, un título, el periodo de Timeline, la duración y la fecha de creación. Quitar de la lista deja intacto el MP4, mientras que Eliminar vídeo es una acción independiente que requiere confirmación y puede borrar permanentemente el archivo cuando el proveedor de almacenamiento lo permite.
Utiliza esta secuencia de solución de problemas cuando falle un flujo de trabajo:
- Si falta el menú Timeline, revisa los ajustes de Ubicación del teléfono y consulta los nombres actuales de la ayuda de Google.
- Si no se puede volver a abrir un archivo, verifica que no se haya movido y que el permiso de almacenamiento siga disponible.
- Si falta un viaje antiguo, restáuralo en Google Maps y exporta un archivo JSON nuevo.
- Si la previsualización parece inestable, revisa los ajustes de filtrado GPS y movimiento de la cámara.
- Si no se puede instalar un APK, verifica la versión de Android y permite temporalmente la instalación desde el navegador o el gestor de archivos seleccionado.
Lista de comprobación de configuración del código fuente:
- Exportar un archivo Timeline.json actualizado
- Confirmar el intervalo de fechas seleccionado y el formato de coordenadas
- Instalar Python, FFmpeg o la cadena de herramientas de compilación de Android según sea necesario
- Previsualizar la ruta antes de renderizar el MP4
- Revisar la privacidad del mapa y los ajustes de almacenamiento local de vídeos
Aunque el archivo de Timeline permanece local, las solicitudes del mapa base pueden revelar las zonas mostradas en la previsualización o en el vídeo exportado. Revisa el aviso de privacidad del mapa antes de cargar un historial sensible.
Preguntas frecuentes
Q: ¿Qué crea el código fuente de Google Timeline Visualizer?
Admite herramientas que convierten los datos exportados de Google Maps Timeline en vídeos de viaje animados, incluida una aplicación para Android, una aplicación web para iPhone y un generador de escritorio en Python.
Q: ¿Timeline Visualizer sube mi archivo Timeline.json?
La documentación del proyecto indica que el archivo de Timeline nunca se sube. El mapa base es la función de red, y CARTO recibe solicitudes de las zonas del mapa mostradas.
Q: ¿Qué se necesita para compilar el proyecto de Android?
Los requisitos documentados para Android son JDK 17, Android SDK Platform 36 y Build Tools 36.0.0. El repositorio también proporciona comandos de Gradle para probar, analizar y ensamblar las compilaciones.
Q: ¿Puede el proyecto restaurar un historial de Google Maps Timeline que falta?
No. Primero restaura el historial en Google Maps y después exporta un archivo JSON nuevo. Timeline Visualizer no puede acceder directamente a la copia de seguridad cifrada de Google.
Documenta por separado el JSON exportado, el MP4 generado y la versión del repositorio del código fuente. Esto facilita volver a renderizar los vídeos en el futuro sin confundir los datos de origen con el contenido multimedia terminado.