La comunidad de WordPress Granada se reunió en un nuevo meetup para explorar una alternativa real a Google Maps en WordPress. Jesús Yesares fue el encargado de la charla, centrada en el plugin Leaflet Map y en por qué merece la pena plantearse dejarlo atrás.
Por qué Google Maps es un problema
El punto de partida de la charla fue directo: insertar un mapa de Google Maps en una web no es inocuo. Cada vez que se carga, se realizan llamadas a la API de Google, se instalan cookies de terceros y se cargan librerías externas que no se pueden alojar en el propio servidor. Eso tiene implicaciones claras en materia de privacidad, especialmente en Europa, donde el RGPD exige informar y obtener consentimiento para ese tipo de rastreo. Y si el usuario rechaza esas cookies, el mapa simplemente deja de funcionar.
A eso se suma el impacto en rendimiento: toda esa carga de recursos externos añade latencia, aunque se mitigue con caché.
Leaflet Map, la alternativa
Jesús presentó el plugin Leaflet Map, disponible en el repositorio de WordPress, completamente gratuito y de código abierto. Se basa en la librería Leaflet.js, creada por el desarrollador ucraniano Volodymyr Agafonkin, que también sirve de base al núcleo de Mapbox.
La ventaja principal: el plugin incluye la librería dentro del paquete, así que no hace ninguna llamada externa. Todo se sirve desde el propio servidor. La cartografía base viene de OpenStreetMap, que también cumple el RGPD y no rastrea a los usuarios.
El plugin funciona mediante shortcodes apilables que siguen la lógica de los sistemas GIS (sistemas de información geográfica), donde los mapas se construyen por capas. A lo largo de la charla, Jesús fue mostrando en directo cómo:
- Crear un mapa centrado en coordenadas concretas, sin usar el buscador de direcciones (que sí haría una llamada externa al geocoder Nominatim).
- Añadir marcadores con HTML y campos personalizados, compatibles con ACF, Pods y los campos nativos de WordPress.
- Agrupar marcadores cercanos con la etiqueta
clusterpara evitar el efecto de apilamiento en el mapa. - Cargar datos geográficos desde archivos GeoJSON o KML directamente en el servidor.
- Filtrar marcadores por categorías mediante paneles laterales con checkboxes.
- Crear mapas de coropletas (esos mapas donde cada polígono se colorea según un valor numérico, como el clásico mapa electoral). Lo demostró con datos de población por provincia de España.
- Mostrar rutas GPX con perfil de elevación, velocidad y frecuencia cardíaca, útil para webs de senderismo, carreras o ciclismo.
También mencionó el plugin complementario Extensions for Leaflet Map, que añade funcionalidades adicionales, y el asistente de shortcodes integrado en el propio plugin, que ayuda a construir mapas visualmente antes de copiar el código. La traducción al español de ese plugin, por cierto, es obra del propio Jesús.
Participación y conversación
Las personas asistentes se metieron de lleno desde el principio. Se plantearon preguntas sobre compatibilidad con archivos GPX de rutas, cómo funciona el posicionamiento por coordenadas frente al buscador de direcciones, y los límites del sistema de clustering. Hubo un momento en que uno de los asistentes detectó un shortcode sin cerrar en directo y lo señaló, lo que permitió corregirlo al momento. Esa clase de intercambio espontáneo es lo que hace que los meetups funcionen.
También surgieron ideas de uso concretas: mostrar el recorrido y el perfil de elevación de una carrera popular, visualizar datos de elecciones por municipio, o añadir la localización del usuario en tiempo real sobre el mapa. Algunas quedaron como propuesta para explorar, lo que dejó la sensación de que el tema da para mucho más.
Cierre
Jesús cerró la sesión comentando que está publicando artículos y vídeos sobre Leaflet Map en su web, así que quien quiera profundizar tiene un recurso al que acudir.
La comunidad de WordPress Granada sigue abierta a que cualquier persona proponga una charla o un tema para próximos encuentros. Si tienes algo que contar o quieres asistir al siguiente meetup, puedes seguir la comunidad en wpgranada.es.