Saltar al contenido
4 junio 2026

Cómo crear mapas de terremotos con Google Maps y datos del USGS

Guía práctica para obtener datos del USGS, colocar marcadores básicos y personalizar símbolos como círculos escalados según la magnitud

Cómo crear mapas de terremotos con Google Maps y datos del USGS

Visualizar eventos sísmicos en un mapa facilita la comprensión de patrones y la comunicación de riesgos. En esta guía compacta usamos Google Maps como lienzo y el feed del USGS como fuente de datos para ubicar epicentros y representar magnitud. El procedimiento combina la importación del feed (por ejemplo mediante JSONP para evitar restricciones de dominio), la inicialización del mapa con una función como initMap y la creación de marcas gráficas que pueden ser marcadores simples o círculos escalados según la magnitud. A lo largo del texto se describen también buenas prácticas para rendimiento y licencias.

El flujo general incluye tres fases: adquisición de los datos, renderizado en el mapa y personalización visual. Para obtener los datos se puede solicitar el feed público del USGS o descargar una copia local; la integración típica añade un elemento script cuyo origen apunta al feed de GeoJSON en formato JSONP. En la etapa de renderizado se itera sobre las coordenadas de cada evento y se crea un google.maps.Marker por ubicación. Finalmente, la personalización reemplaza los iconos por símbolos circulares cuya escala varía con la magnitud.

Preparar y obtener los datos

Antes de dibujar nada, hay que decidir cómo llegarán los datos al navegador. Una alternativa es pedir el feed del USGS en formato GeoJSON con JSONP, lo que permite ejecutar una función callback cuando llega la información. Otra opción es hospedar una copia en tu servidor y servirla como recurso local. Sea cual sea el método, conviene comprobar el formato: cada elemento suele contener una propiedad geometry con las coordenadas y propiedades como mag que almacenan la magnitud. Con esos campos claros, la conversión a marcadores o a objetos de map.data resulta directa.

Formato y conceptos clave

Es útil entender tres conceptos que aparecen con frecuencia: JSONP, GeoJSON y la API de Google Maps. JSONP es una técnica para recibir datos envueltos en una llamada a una función, ideal cuando no se puede usar CORS; GeoJSON es el esquema que describe geometrías geográficas (puntos, líneas, polígonos) junto con propiedades asociadas; y la API de Google Maps proporciona los objetos Map, Marker y Data que se usan para representar y estilizar las entidades. Identificar correctamente estas piezas evita errores al parsear y añadir la información al mapa.

Mostrar marcadores básicos

Para colocar marcadores simples se inicia el mapa con una función como initMap, configurando opciones de zoom, center y mapTypeId. Cuando el callback del feed (por ejemplo eqfeed_callback) entrega el objeto GeoJSON, se recorre su array de features, se extraen las coordenadas y se crea un google.maps.Marker para cada punto. Este enfoque es ideal para representar la presencia de eventos; si necesitas información adicional, puedes abrir infowindows o adjuntar propiedades a cada marcador para mostrar la magnitud, la profundidad o el enlace al informe del USGS.

Personalizar con formas y escalas

Para transmitir visualmente la intensidad conviene usar formas que escalen con la magnitud. Con map.data puedes llamar a setStyle y devolver un objeto cuyo icon use google.maps.SymbolPath.CIRCLE. Propiedades como fillColor, fillOpacity, strokeColor y strokeWeight permiten adaptar la apariencia; la escala puede calcularse con una fórmula como Math.pow(2, magnitude) / 2 para enfatizar diferencias exponenciales entre magnitudes. Con map.data.addGeoJson(results) se inyecta el conjunto y el estilo aplicado hará que cada punto muestre un círculo proporcional a su valor de mag, facilitando la lectura del mapa de un vistazo.

Consejos de rendimiento

Trabajar con feeds en tiempo real y muchos puntos exige medidas para mantener la fluidez. Cargar la librería de Maps JavaScript API con el atributo defer o gestionarla mediante Promises evita bloqueos durante el parseo del DOM. Si el volumen de puntos es alto, considera la agrupación (cluster) de marcadores, la simplificación geometría o la limitación de la ventana temporal del feed. Mantener una copia local para pruebas y respetar límites de petición del USGS también previene errores y reduce latencia en producción.

Recursos, licencias y nota

Los ejemplos de código que acompañan este flujo suelen publicarse bajo licencia Apache 2.0 mientras que el texto general puede estar bajo Creative Commons Attribution 4.0. Ten presente también que Java es una marca registrada de Oracle en caso de utilizar herramientas relacionadas. Para más detalles técnicos revisa la documentación oficial de la API de Google Maps y el portal del USGS. Última actualización: 2026-04-08 (UTC).

Autor

Massimiliano Cardinale

Massimiliano Cardinale, de Catania, empezó compartiendo una receta familiar durante una fiesta del pueblo, atrayendo una comunidad de seguidores: ese gesto lo llevó a la redacción con un tono informal. Propone contenidos para redes y lleva apuntes con nombres de productores locales y técnicas de cocina.