Google Maps
Cómo conectar una clave de Google Maps para que la app sugiera direcciones mientras la persona escribe y guarde la ubicación (latitud y longitud) de cada dirección.
Maps alimenta el campo de dirección de los formularios de la app y la ubicación de los registros con dirección. Sin la clave nada se rompe, pero todo queda más simple: el campo de dirección se vuelve un campo de texto común, sin sugerencias, y el registro guarda solo el texto de la dirección, sin latitud ni longitud. Las funciones que dependen de la ubicación, como la distancia o el área de entrega, se quedan sin el dato que necesitan.
Antes de empezar
- Plan: cualquiera, incluido Free. Lo único que hace falta es tu propia clave de Google;
- Cuenta en Google Cloud con facturación activa. Google exige una tarjeta registrada incluso para el uso dentro de la cuota gratuita, y sin facturación la clave se rechaza;
- Costo: el uso lo cobra Google, en tu cuenta, según la tabla de precios de Maps. La plataforma no cobra créditos de integración por las búsquedas de direcciones.
Paso a paso
- en console.cloud.google.com, crea un proyecto (o elige uno que ya exista);
- activa la facturación en ese proyecto;
- en APIs y servicios → Biblioteca, activa dos APIs:
- Geocoding API;
- Places API (New). Atención al "(New)": la versión antigua no sirve, y Google ya no la ofrece a clientes nuevos desde marzo de 2025;
- en APIs y servicios → Credenciales → Crear credenciales → Clave de API, crea la clave y cópiala (empieza con
AIza); - en la misma clave, en Restricciones de API, limita el uso a las dos APIs del paso 3;
- en el editor de la app, pestaña Integraciones, categoría Ubicación, abre la tarjeta Google Maps;
- pega la clave en el campo API Key y haz clic en Guardar y activar.
No restrinjas la clave por sitio
Es común restringir una clave de Maps al dominio de la app (restricción por "sitios web" o "referentes HTTP"). Aquí eso rompe la integración. La clave nunca llega al navegador de quien usa la app: quienes llaman a Google son los servidores de Fabapp, y esas llamadas no llevan la dirección de tu sitio. Una clave restringida por sitio se rechaza en todas ellas.
La protección correcta es la del paso 5, restringiendo qué APIs puede usar la clave. Como la clave queda guardada cifrada en el servidor, no aparece en el código de la app para que alguien la copie.
Cómo saber que funcionó
- al guardar, la plataforma hace una búsqueda de prueba de una dirección real. Si Google la acepta, aparece "Google Maps está activo." y la tarjeta queda Conectada;
- en la app, escribe una dirección en un formulario: las sugerencias deben aparecer mientras escribes.
La búsqueda de direcciones solo funciona para quien inició sesión en la app. Es a propósito: cada búsqueda gasta la cuota de tu proyecto en Google, y dejarla abierta a visitantes anónimos sería una invitación al abuso.
Problemas comunes
La prueba de la tarjeta muestra la respuesta de Google, y el código entre paréntesis indica la causa:
| La tarjeta dice | Qué hacer |
|---|---|
| REQUEST_DENIED | comprueba que la Geocoding API esté activada y que el proyecto tenga la facturación habilitada |
| OVER_DAILY_LIMIT | casi siempre es la facturación: la cuenta de facturación tiene que estar activa y con una forma de pago válida |
| OVER_QUERY_LIMIT | se agotó la cuota de la clave: espera a que la cuota se renueve o aumenta el límite en el proyecto |
- Acabo de crear la clave y la rechaza. Una clave nueva tarda unos minutos en empezar a valer. Espera y vuelve a guardar;
- La tarjeta está Conectada, pero no aparecen sugerencias. La prueba de la tarjeta usa solo la Geocoding API. Las sugerencias usan la Places API (New): comprueba que esté activada en el mismo proyecto y que no hayas activado la versión antigua;
- Funcionó un tiempo y dejó de funcionar. Revisa si la facturación del proyecto en Google sigue activa y si la clave no recibió una restricción por sitio.