¿Qué es JavaScript?
JavaScript es un lenguaje de programación interpretado que se ejecuta en el navegador web del usuario. Es uno de los tres pilares del desarrollo web, junto con HTML (estructura) y CSS (estilo).
En el contexto de SIG, JavaScript permite crear mapas interactivos, manejar eventos (clics, zoom, movimientos), cargar capas dinámicas, consultar datos espaciales y mostrar resultados al usuario en tiempo real.
¿Qué es Web Mapping?
Web Mapping es la práctica de crear, visualizar e interactuar con mapas a través de navegadores web. En lugar de utilizar software de escritorio como QGIS o ArcGIS Pro, se usa una aplicación web que integra mapas dinámicos y funcionalidades GIS.
También es conocido como Geoportales o Aplicaciones Web de GIS.
Ejemplo: Cuando abres Google Maps en tu navegador, estás utilizando una aplicación de Web Mapping.
Características del Web Mapping:
- Visualización de mapas base.
- Carga de capas vectoriales (puntos, líneas, polígonos).
- Uso de servicios de mapas (WMS, WMTS, Feature Services, etc.).
- Funciones interactivas: búsquedas, geolocalización, filtros, pop-ups, etc.
Pero, ¿Cómo se aplican estos conceptos?
JavaScript se utiliza junto con librerías o APIs de mapas web para:
- Insertar mapas dentro de páginas HTML.
- Cargar capas vectoriales o raster desde servidores.
- Controlar la interacción del usuario (zoom, clic, arrastrar).
- Conectar con servicios GIS (como un servidor ArcGIS, GeoServer, etc.).
Es decir: JavaScript + APIs = Mapas Web Interactivos
¿Qué es una API?
Una API (Application Programming Interface) es un conjunto de funciones, métodos y protocolos que permiten que dos programas se comuniquen entre sí. En el contexto de SIG y Web Mapping, una API:
- Permite mostrar mapas desde un servidor en tu sitio web.
- Te da funciones para añadir marcadores, polígonos, capas, etiquetas, etc.
- Se comunica con servicios como Google Maps, ArcGIS Online, MapBox, etc.
Para usar las APIs de GIS necesitas lo siguiente:
- Conocimientos básicos de JavaScript, HTML y CSS.
- Acceso a la API que deseas usar (algunas son gratuitas, otras requieren suscripción).
- Un editor de código como Visual Studio Code o Sublime Text.
- Conexión a internet (para cargar mapas base desde servidores).
- Un servidor web local para probar tus aplicaciones.
Principales APIs y librerías para Web Mapping
🍃 Leaflet
Leaflet.js es una de las librerías de JavaScript más populares para Web Mapping.
- Ligera, rápida y de código abierto.
- Muy fácil de aprender.
- Permite cargar mapas base (OpenStreetMap, Esri, etc.).
- Se pueden agregar capas GeoJSON, controles, leyendas, pop-ups, etc.
Ejemplo de uso básico:
<script src="https://unpkg.com/leaflet@1.9.3/dist/leaflet.js"></script>
<div id="map" style="height: 400px;"></div>
<script>
var map = L.map('map').setView([4.6097, -74.0818], 13);
L.tileLayer('https://tile.openstreetmap.org/{z}/{x}/{y}.png').addTo(map);
</script>
🌍 OpenLayers
OpenLayers es una librería JavaScript avanzada y más robusta que Leaflet.
- Soporta más tipos de capas: WMS, WMTS, GeoTIFF, etc.
- Tiene más herramientas GIS: medición, proyecciones, estilos avanzados.
- Ideal para proyectos más complejos.
Requiere más conocimiento técnico, pero es muy poderosa y totalmente libre.
🗺 Mapbox
Mapbox GL JS es una API comercial muy moderna y visualmente potente.
- Usa mapas vectoriales (tiles en formato vectorial).
- Estilo visual totalmente personalizable.
- Ideal para aplicaciones de alta calidad visual.
- Necesitas crear una cuenta para obtener una API key gratuita.
Tiene un modelo gratuito con límites y luego es de pago.
📍 Google Maps API
API oficial de Google para integrar mapas en sitios web.
- Muy conocida y fácil de usar.
- Puedes agregar capas, rutas, tráfico, geocodificación, etc.
- Requiere crear una cuenta en Google Cloud y obtener una API Key.
Tiene límites gratuitos, pero cobra por el uso extendido.
🌐 API JavaScript de ArcGIS (Esri)
ArcGIS API for JavaScript permite construir aplicaciones web usando la plataforma de Esri.
- Muy potente, ideal para usuarios de ArcGIS Online, ArcGIS Server o Portal.
- Permite cargar servicios de mapas, geoprocesamiento, capas vectoriales, 3D, etc.
- Total integración con el ecosistema de Esri.
Ideal si tu organización ya trabaja con la plataforma ArcGIS.
🔧 Ejemplo básico:
<script src="https://js.arcgis.com/4.28/"></script> <div id="viewDiv" style="height: 400px;"></div> <script> require(["esri/Map", "esri/views/MapView"], (Map, MapView) => { const map = new Map({ basemap: "streets-navigation-vector" }); const view = new MapView({ container: "viewDiv", map: map, center: [-74.0818, 4.6097], // Bogotá zoom: 13 }); }); </script>
Podemos concluir que:
- JavaScript es el lenguaje clave para mapas interactivos en la web.
- Web Mapping permite compartir información geográfica a través de aplicaciones accesibles desde cualquier navegador.
- Las APIs y librerías como Leaflet, OpenLayers, Mapbox, Google Maps y ArcGIS ofrecen herramientas listas para usar y personalizar mapas.
- Elegir la API adecuada depende del nivel técnico, el tipo de datos, el presupuesto y el objetivo del proyecto.
Mira el video completo: