Como corrigir o Google Map Field do ACF PRO (erro de Google Maps API)
O que é Google Map Field do ACF sem API key?
O Google Map Field e um campo do ACF PRO que renderiza um mapa interativo do Google Maps no editor e no frontend, usando a Google Maps JavaScript API para desenhar o mapa, geocodificar enderecos e mostrar o autocomplete de busca. Diferente de outros campos, ele depende de um serviço externo pago: sem uma chave de API valida registrada e com as APIs certas habilitadas no Google Cloud, o campo não consegue inicializar o mapa. A documentação oficial do ACF e clara: para usar a Google Maps JavaScript API e preciso primeiro registrar uma chave de API valida. O sintoma classico e um retangulo cinza no lugar do mapa, tanto na tela de edição do campo quanto na página publicada, acompanhado de mensagens de erro no console do navegador.
Como identificar
- Mensagem sobreposta no próprio mapa: ‘This page can’t load Google Maps correctly’, com o mapa escurecido e a marca d’agua do Google
- Retangulo cinza ou área em branco no lugar do mapa, tanto no editor do ACF quanto no frontend do post
- No console do navegador (F12, aba Console): ‘Google Maps JavaScript API error: ApiNotActivatedMapError’ quando a Maps JavaScript API não esta habilitada no projeto
- No console: ‘Google Maps JavaScript API error: RefererNotAllowedMapError’ quando o domínio do site não esta na lista de referrers permitidos da chave
- No console: ‘InvalidKeyMapError’ ou ‘MissingKeyMapError’ quando nenhuma chave (ou uma chave errada) foi registrada no WordPress
- No console: ‘BillingNotEnabledMapError’ quando o projeto do Google Cloud não tem uma conta de faturamento ativa
- O campo de busca de endereco (autocomplete) do Google Map Field não retorna sugestoes ao digitar
Como prevenir
- Mantenha a chave da Google Maps API sempre restrita por referrer HTTP ao seu domínio, para que ela não possa ser reutilizada por terceiros e gere cobranca indevida.
- Configure um teto de cota e um alerta de orcamento no Google Cloud para ser avisado antes de a Maps JavaScript API estourar o limite do período gratuito.
- Registre a chave por filtro no código (functions.php ou plugin de snippets) e não espalhada em campos do tema, para ter uma fonte única fácil de auditar.
- Após qualquer atualização do ACF PRO, abra um post com o Google Map Field e confira o console para flagrar deprecacao de API antes que o mapa quebre em producao.
Causa
- Nenhuma chave de API foi registrada no WordPress: o ACF PRO não traz chave embutida e exige que você informe a sua via filtro acf/fields/google_map/api ou via acf_update_setting('google_api_key', ...), o que gera InvalidKeyMapError ou MissingKeyMapError.
- A Maps JavaScript API não esta habilitada no projeto do Google Cloud (somente Geocoding ou Places foi ligada), produzindo o erro ApiNotActivatedMapError no console.
- A chave tem restricao de referrer HTTP e o domínio do site (incluindo www e https) não foi adicionado a lista de sites permitidos, gerando RefererNotAllowedMapError.
- O projeto do Google Cloud não tem uma conta de faturamento ativa vinculada, condicao obrigatoria desde 2018 para a Maps JavaScript API, resultando em BillingNotEnabledMapError.
- A Places API exigida pelo autocomplete de endereco não foi habilitada; desde 1 de marco de 2025 sites novos precisam habilitar a 'Legacy Places API' especificamente para o Google Map Field do ACF.
- Um plugin de cache ou de minificacao agrupou o JavaScript do ACF e quebrou o parametro da chave na URL de carregamento da Maps JavaScript API.
Como resolver
- Crie e configure a chave no Google Cloud Console: No Google Cloud Console crie um projeto, vincule uma conta de faturamento e habilite as três APIs que o Google Map Field usa. Em APIs e serviços ative, uma a uma, as APIs abaixo. Sem faturamento ativo o mapa retorna BillingNotEnabledMapError mesmo com a chave correta.
Maps JavaScript API Geocoding API Places API (sites novos: Legacy Places API) - Restrinja a chave ao domínio do seu site: Ainda no Google Cloud, em Credenciais, edite a chave e em Restricoes de aplicativo escolha Sites (referenciadores HTTP) e adicione os padroes do seu domínio. Inclua a versão com e sem www e o curinga de caminho, senao o Google bloqueia com RefererNotAllowedMapError.
https://seusite.com.br/* https://www.seusite.com.br/* - Registre a chave no WordPress via filtro do ACF: No arquivo functions.php do tema filho (ou em um plugin de snippets), registre a chave usando o filtro oficial do ACF para o Google Map. Esta e a forma recomendada pela documentação do ACF. Troque o valor de exemplo pela sua chave real.
function full_acf_google_map_api( $api ) { $api['key'] = 'SUA_CHAVE_AQUI'; return $api; } add_filter( 'acf/fields/google_map/api', 'full_acf_google_map_api' ); - Limpe o cache e valide no console do navegador: Limpe o cache do plugin de cache e do navegador, abra um post com o Google Map Field e confira o console (F12). Se persistir RefererNotAllowedMapError revise o padrão de referrer do passo 2; se persistir ApiNotActivatedMapError confirme a Maps JavaScript API do passo 1. A chave demora alguns minutos para propagar após a criação.
<?php
// Registra a chave da Google Maps API para o Google Map Field do ACF.
// Via filtro (forma recomendada pela doc do ACF):
add_filter( 'acf/fields/google_map/api', function ( $api ) {
$api['key'] = 'SUA_CHAVE_AQUI';
return $api;
} );
// Alternativa equivalente via setting global do ACF:
add_action( 'acf/init', function () {
acf_update_setting( 'google_api_key', 'SUA_CHAVE_AQUI' );
} );














