Geolocalización con Drupal: Qué módulo elegir

27/06/2018
Comparativa entre los mejores módulos de geolocalización con Drupal

La geolocalización es algo prácticamente imprescindible en cualquier proyecto digital. Rara vez nos encontramos con un cliente que no requiera de esta funcionalidad en su sitio web. Pero, a la hora de implementarla, ¿qué módulo de geolocalización con Drupal es el más adecuado? ¿Cuál responde mejor a mis necesidades?

 

Para ayudarte a decirlo, hemos analizado cuatro de los módulos de geolocalización más usados actualmente. A lo largo de este post descubrirás una comparativa que refleja sus pros, contras y algunos casos de uso prácticos.

 

Comparativa entre los mejores módulos de geolocalización con Drupal

Geofield

Es un módulo para almacenar datos geográficos en Drupal 7 y 8. Admite todos los tipos geográficos (puntos, líneas, polígonos, multitipos, etc.)

Permite varios tipos de entrada de datos y tiene distintos formateadores (salida de datos). También requiere el módulo geofield_map para tener un formato de salida de mapa ofrecido por Google Maps, que a su vez requiere una API key. Esto puede cambiarse desde “Manage display”. Ofrece varios tipos de formato de salida (RAW output).

 

módulo Geofield drupal

Geofield nos permite realizar la búsqueda en el mapa introduciendo la dirección o a través del botón “Find my location”, donde se solicitará al usuario a través del navegador que permita acceder a su ubicación.

 

módulo geolocalización Geofield drupal

El navegador pedirá permisos siempre para acceder a su ubicación

Ventajas de utilizar el módulo Geofield:

  • Tiene distintos tipos de formatos de salida (WKT, EWKT, WKB, GeoJSON, GPX, KML, GeoRSS, GeoHash, etc.)

  • Al contar con la API de Google Maps, podemos cambiar la presentación del mapa desde interfaz directamente.

  • Hay varios data input (entradas de datos) para introducir latitud y longitud. También tiene HTML5 Geolocalización, donde el navegador pregunta al usuario su ubicación y la señala en el mapa.

Inconvenientes de utilizar el módulo Geofield:

  • Para obtener un mapa en D8 tenemos que descargar e instalar un submódulo (geofield_map)

  • Tiene algunas issues abiertas a día de hoy para D8; su versión actual es beta.

  • Para obtener el mapa de Google necesitas una API Key de google, que se obtiene gratuitamente desde este enlace.

Casos de uso del módulo Geofield:

Cualquier proyecto desarrollado en Drupal 8 o inferior (sin olvidar que si es Drupal 8 hay que instalar geofield_map como dependencia) que requiera una instalación sencilla, una rápida implementación, distintos formatos de salida para representar capas, como por ejemplo en el estándar GeoRSS o integrarlo con otros módulos como Commerce.

Simple Google Maps

Es posiblemente de los módulos más sencillos para obtener un mapa de Google Maps e insertarlo en nuestro Drupal.

 

módulo Simple Google Maps drupal

Proporciona un formato de entrada de datos de texto plano, donde se indica la dirección que Google Maps reconocerá y mostrará mediante un mapa dinámico o estático. En la configuración de la presentación podemos configurar distintas opciones como las dimensiones del mapa, el zoom, el lenguaje, tipo del mapa y poco más.

 

formato de entrada módulo Simple Google Maps drupal

Algunas de las opciones que nos permite configurar simple gmaps para insertar nuestro mapa

 

Ventajas de utilizar el módulo Simple Google Maps:

  • No necesita API Key de Google Maps para insertar los mapas dinámicos, pero sí para los estáticos.

  • Es un módulo sencillo de instalar y configurar y no necesita de otros submódulos o descargas adicionales.

  • Te permite cambiar el idioma desde una opción de la interfaz.

Inconvenientes de utilizar el módulo Simple Google Maps:

  • No te permite introducir coordenadas, solo la dirección como dato de entrada.

  • Al ser tan simple, no tiene apenas opciones de configuración.

Casos de uso el módulo Simple Google Maps:

Cualquier proyecto desarrollado en Drupal 8 o inferior en el que se quiera insertar de forma rápida y eficiente un mapa dinámico o estático facilitado por Google Maps (si es estático nos requerirá una API Key) con ajustes de inserción que quizás puedan quedarse escasos.

GMap

No tiene nada que ver con “Simple Google Maps”, puesto que GMap incluye funciones mucho más avanzadas.

Ofrece una interfaz para la API de Google Maps dentro de Drupal, donde se pueden crear mapas interactivos con marcadores y representar en vistas resultados obtenidos para los usuarios. También proporciona una interfaz para crear macros, búsqueda de direcciones y representación de diferentes marcadores en un mapa dependiendo de la taxonomía de un nodo específico.

módulo geolocalización gmap drupal

Creación de marcadores con gmaps

 

Puede combinarse con el módulo location, para usar coordenadas, latitudes y longitudes en las búsquedas.

Ventajas de utilizar el módulo GMAP:

  • Ofrece muchas funciones avanzadas, como la GUI para crear macros o la representación de marcadores según taxonomías en un nodo.

  • Se mantiene regularmente actualizado y se está realizando la migración a D8.

Inconvenientes de utilizar el módulo GMAP:

  • Requiere el uso de una API key de Google Maps

  • Requiere instalar el módulo Location para añadir ciertas funcionalidades, como la búsqueda por coordenadas, latitudes y longitudes.

Casos de uso del módulo GMAP:

Cualquier proyecto D7 (y próximamente D8) en el que se quieran aplicar técnicas avanzadas, como la creación de macros o inserción de marcadores o simplemente la inserción de mapas limpios y estables con varios ajustes de inserción.

Location

Está diseñado especialmente para encontrar puntos en un mapa cerca de una ubicación proporcionada por el usuario. Proporciona una API intuitiva, que maneja el almacenamiento de direcciones y las traduce a longitudes y latitudes. También hay que destacar que puede combinarse con el módulo Gmap, permitiendo funciones como introducir directamente coordenadas o hacer clic en un mapa para obtener una ubicación concreta en vez de usar direcciones. Está disponible para Drupal 6 y Drupal 7.


 

módulo geolocalización location drupal

Módulo location combinado con gmap

 

Ventajas de utilizar el módulo Location:

  • No necesita API Keys

  • Detecta proximidades en una ubicación introducida por el usuario.

  • Se adapta correctamente a cualquier bloque al que se le asigne.

  • Traduce las direcciones insertadas por el usuario directamente al mapa.

Inconvenientes de utilizar el módulo Location:

  • No está disponible en Drupal 8

  • No mantiene actualizaciones regulares

  • No permite introducir coordenadas o selección a base de clic en el mapa sin el módulo Gmap.

Casos de uso para utilizar el módulo Location:

Cualquier proyecto desarrollado con Drupal 7 o inferior que busque específicamente alguno de los pros vistos anteriormente o simplemente quiera insertar mapas apoyándose en un módulo estable, con posibilidad de integrarse con gmap y que no requiere uso de API keys.

 

Tabla comparativa de módulos de geolocalización con Drupal
 

 

Drupal compatible

Requiere API Key

Versión actual

Integración de otros módulos

Simple GMap

D8, D7

No

8.x-1.4

/

GMap

D7, D6

7.x-2.11

Location

Location

D7, D6

No

7.x-3.7

GMap

Geofield

D8, D7

8.x-1.0-beta4
7.x-2.3

Commerce, Leaflet MarkerCluster

 

¿Qué módulo de geolocalización con Drupal es mejor?

Aquí puedo aseguraros que no hay caballo ganador. En este caso, los 4 módulos de geolocalización que hemos analizado hoy ofrecen lo mínimo que se requiere. Cada módulo se adaptará mejor o peor dependiendo de las circunstancias (experiencia del desarrollador, proyecto, usuario final, etc).

Si queremos un resultado profesional, mapas con marcadores y creación de macros, entre otros ajustes, podemos optar por Gmap, Location o ambos, teniendo en cuenta que no están disponibles a día de hoy en Drupal 8.

Si lo que buscamos es facilidad a la hora de implementar mapas, opciones mínimas de configuración y estabilidad en Drupal 8 e inferiores versiones, entonces podemos decantarnos por Simple_Gmap o Geofield, sin olvidarnos que éste último se encuentra en versión beta y con algunas issues abiertas.

¿Has utilizado alguno de estos módulos? ¿Conoces alguno más que podamos añadir a la lista? ¡Deja tus opiniones en la sección de comentarios!