Han entrado en vigor las nuevas tarifas de Google Maps y muchos se han llevado un buen susto al recibir las facturas del servicio, con un incremento de hasta 1.500% según algunas fuentes. Yo he sido testigo de una primera factura de 200$ (una vez descontados los 200$ de uso gratuito).

No discutiré las razones de Google para una subida tan brutal de sus precios. El tiempo dirá si ha sido una decisión acertada o no. Evidentemente, el servicio tiene un coste asociado, que debemos tener en cuenta al utilizar las API de Google Maps.

¿Qué podemos hacer para reducir los costes asociados a nuestros mapas?

La primera respuesta es obvia, implementar una solución alternativa más barata. Si necesitas ayuda para ello, puedes contar conmigo

Pero, si seguimos usando Google Maps, tendremos que reducir los costes al mínimo. A continuación veremos que podemos hacer para lograr dicho objetivo.

Como utilizar Google Maps

Hay dos formas de usar Google Maps en nuestra web.

La más sencilla es incrustando el mapa. Para ello visitamos http://maps.google.com/ y localizamos la dirección deseada. A continuación, hacemos click en compartir, seleccionamos incrustar un mapa y obtenemos el código HTML para incorporar en nuestra web.

Mejor aún si usamos Google My Maps. Este servicio nos permite una mayor personalización del mapa, por ejemplo, añadir varios marcadores, descripciones,  líneas, etc. Una vez estemos satisfechos con el resultado, obtendremos el código para incluir el mapa en nuestra web.

De esta forma podemos incorporar a nuestra web todos los mapas estáticos que necesitemos. Esta opción suele ser suficiente en la mayoría de los casos. 

Si no necesitamos más, estamos de suerte. Esta opción continúa siendo gratuita.

Pero, ¿que pasa si necesitamos, por ejemplo, generar rutas, indicar lugares de interés cercanos, y/o generar los mapas dinámicamente a partir de las direcciones? En ese caso tendremos que utilizar las API de Google Maps y pagar por el uso del servicio. 

Estructura de las API de Google Maps

Encontraremos las API en Google Maps Platform. Están agrupadas en 3 grandes grupos, segun las funciones que ofrecen a los usuarios:

Mapas - Para generar todo tipo de màpas, tanto estáticos como dinámicos y con la posibilidad de incluir Street View. Estos mapas permiten un alto grado de personalización. Es la función más habitual, y que utilizaremos, por ejemplo, para mostrar un mapa a partir de unas coordenadas geográficas o una dirección postal.

Rutas -  Como su nombre indica, su función es poder ofrecer instrucciones detalladas para viajar hasta cualquier punto del planeta, en cualquier medio de transporte. La información se actualiza en tiempo real para la mayoría de los casos. Lo más común es utilizarlas como complemento a un mapa.

Sitios - Permite ofrecer información de interés sobre sitios relacionados con una localización geográfica (por ejemplo; restaurantes, hoteles, museos, hospitales, escuelas, etc.), incluyendo horarios, reseñas y con información actualizada en tiempo real. Tambien suelen utilizarse como complemento a un mapa.

La estructura de precios es compleja. Basicamente se pagan por las peticiones realizadas a los servidores de Google, con un precio diferente según el tipo de petición. Podemos consultar las tarifas en la Tabla de Precio de Google Map Platform.  

Podemos hacer un estimado de nuestros gastos mensuales usando la calculadora de precios que ofrece Google. 

Es importante tener en cuenta que pagamos por petición realizada, que no es lo mismo que por visitas a nuestra página. Por ejemplo al mostrar un mapa (1 visita) podemos hacer muchas más peticiones (rutas, lugares cercanos, street view) dependiendo del tipo de mapa mostrado.

Resumiendo podemos decir que:

Es gratuito utilizar mapas en móbiles e incrustados en página web (sin indicaciones o  street view). Todo lo demás se paga segun el uso que hagamos

Google ofrece un crédito de 200$ al mes, solo pagaremos si nuestro uso de las API supera ese límite. En la Tabla de precios se indica que uso podemos hacer de cada servicio. Este crédito se tiene en cuenta el la calculadora. Si tenemos un sitio pequeño o estamos desarrollando para un cliente, quizás estemos de suerte y no tendremos que pagar

Es obligatorio obtener una clave de API (como veremos más adelante, posiblemente necesitemos más de una clave) para utilizar el servicio. Además se nos exige establecer y activar nuestros datos de facturación, en caso contrario no podremos usar las API de Google Maps Platform.

Estas son las nuevas reglas del juego y bien nos adaptamos a ella o buscamos una solución alternativa

Uso de Google Maps Platform

Paso 1 - Configurar nuestra cuenta de facturación

El primer paso es registrarnos en Google Cloud, si no lo hemos hecho ya. Una vez en la consola vamos a la sección de Facturación 

  1. Establecemos nuestros métodos de pago.
  2. Configuramos los pagos: su frecuencia, nuestros datos fiscales, etc.
  3. Para evitar sorpresas desagradables, crearemos presupuestos y con las alertas necesarias. Es importante aclarar, las alertas no bloquean el consumo, son solo un aviso para que tomemos las medidas correspondientes y mantengamos nuestros gastos bajo control. 

Paso 2 - Activamos las APIs que vayamos a utilizar

 Vamos a la sección de APIs y servicios de nuestra cuenta

  1. Seleccionamos un proyecto existente o creamos uno nuevo si fuese necesario. El proyecto es relevante solo para nuestro orden interno, serán las credenciales quienes determinen el uso. 
  2. A continuación, habilitamos las APIs. El enlace nos lleva a la biblioteca donde seleccionaremos aquellas que pensamos utilizar.
  3. Una vez habilitadas las APIs, generaremos las credenciales para nuestros dispositivos y servidores.

Existen numerosos tutoriales sobre la generación de credenciales. Seré muy breve.

Cuando generemos credenciales, seleccionaremos Clave de API en el menú. De inmediato obtendremos la clave que podemos utilizar en nuestros proyectos. Lo más importante es establecer restricciones de uso en las claves o un usuario malintencionado puede aprovecharse de ello. Para paliar este posible abuso, Google limita el uso de las claves sin restricciones, bloqueándolas. Es preferible eso a una factura desmesurada.

Cada API requiere su tipo de restricción, por ejemplo para Mapas lo habitual es restringir por url, así solo podrán usuar nuestra clave los visitantes de nuestra web, Rutas por su parte necesita que habilitemos restricciones por IP, de esta forma solo nuestro servidor podrá realizar las peticiones. Por tanto podemos necesitar más de una clave cuando pongamos en marcha un proyecto que use Google Map Platform.

Conclusiones

Aunque la nueva política de precios de Google ha provocado unos cuantos disgustos, es posible en ciertos casos seguir utilizando gratuitamente Google Maps. 

Si no tenemos esa suerte, hemos visto brevemente las herramientas que nos permitirán mantener el gasto dentro de los niveles apropiados para nuestro presupuesto

Finalmente, siempre podemos acudir a proveedores alternativos, si nos ofrecen una solución adecuada para nuestras necesidades, a un precio que nos parezca más razonable.