Google Maps
Como conectar uma chave do Google Maps para o app sugerir endereços enquanto a pessoa digita e guardar a localização (latitude e longitude) de cada endereço.
O Maps alimenta o campo de endereço dos formulários do app e a localização dos registros com endereço. Sem a chave, nada quebra, mas tudo fica mais simples: o campo de endereço vira um campo de texto comum, sem sugestões, e o registro guarda só o texto do endereço, sem latitude e longitude. Recursos que dependem da localização, como distância ou área de entrega, ficam sem o dado de que precisam.
Antes de começar
- Plano: qualquer um, inclusive o Free. O que é preciso é só a sua própria chave do Google;
- Conta no Google Cloud com faturamento ativo. O Google exige um cartão cadastrado mesmo para uso dentro da cota gratuita, e sem faturamento a chave é recusada;
- Custo: o uso é cobrado pelo Google, na sua conta, conforme a tabela de preços do Maps. A plataforma não cobra crédito de integração pelas buscas de endereço.
Passo a passo
- em console.cloud.google.com, crie um projeto (ou escolha um que já exista);
- ative o faturamento nesse projeto;
- em APIs e serviços → Biblioteca, ative duas APIs:
- Geocoding API;
- Places API (New). Atenção ao "(New)": a versão antiga não serve, e o Google não a oferece mais a clientes novos desde março de 2025;
- em APIs e serviços → Credenciais → Criar credenciais → Chave de API, crie a chave e copie (ela começa com
AIza); - ainda na chave, em Restrições de API, limite o uso às duas APIs do passo 3;
- no editor do app, aba Integrações, categoria Localização, abra o card Google Maps;
- cole a chave no campo API Key e clique em Salvar e ativar.
Não restrinja a chave por site
É comum restringir uma chave do Maps ao domínio do app (restrição por "sites" ou "referenciadores HTTP"). Aqui isso quebra a integração. A chave nunca vai para o navegador de quem usa o app: quem chama o Google são os servidores da Fabapp, e essas chamadas não carregam o endereço do seu site. Uma chave restrita por site é recusada em todas elas.
A proteção certa é a do passo 5, restringindo quais APIs a chave pode usar. Como a chave fica guardada cifrada no servidor, ela não aparece no código do app para ninguém copiar.
Como saber que funcionou
- ao salvar, a plataforma faz uma busca de teste de um endereço real. Se o Google aceitar, aparece "Google Maps ativo." e o card fica Conectado;
- no app, digite um endereço num formulário: as sugestões devem aparecer enquanto você digita.
A busca de endereço só funciona para quem entrou no app (está logado). Isso é de propósito: cada busca gasta a cota do seu projeto no Google, e deixá-la aberta a visitantes anônimos seria um convite a abuso.
Problemas comuns
O teste do card mostra a resposta do próprio Google, e o código entre parênteses diz a causa:
| O card diz | O que fazer |
|---|---|
| REQUEST_DENIED | confira se a Geocoding API está ativada e se o projeto tem faturamento habilitado |
| OVER_DAILY_LIMIT | quase sempre é faturamento: a conta de faturamento precisa estar ativa e com forma de pagamento válida |
| OVER_QUERY_LIMIT | a cota da chave estourou: espere a cota renovar ou aumente o limite no projeto |
- Acabei de criar a chave e ela é recusada. Uma chave nova leva alguns minutos para valer. Espere e salve de novo;
- O card está Conectado, mas as sugestões não aparecem. O teste do card usa só a Geocoding API. As sugestões usam a Places API (New): confira se ela está ativada no mesmo projeto, e se não foi a versão antiga que você ativou;
- Funcionou por um tempo e parou. Veja se o faturamento do projeto no Google continua ativo e se a chave não ganhou uma restrição por site.