Como corrigir o Maps Listing do JetEngine que não exibe marcadores no WordPress
O que é Maps Listing do JetEngine sem marcadores?
O JetEngine Maps Listing é um widget que plota marcadores em um mapa a partir de um Listing, usando como fonte um campo do tipo endereço ou um par de coordenadas de cada item (post, termo ou registro de Custom Content Type). Cada marcador depende de uma latitude e longitude: o JetEngine só consegue posicionar o pino quando esse par de coordenadas existe para o item. O mapa em si é desenhado pelo provedor configurado em JetEngine, normalmente o Google Maps, que exige uma API key válida para inicializar.
Quando os marcadores não aparecem, a integração quebrou em algum ponto dessa cadeia: o provedor de mapas não inicializou por falta de API key ou de API habilitada, o campo de endereço dos itens está vazio ou nunca foi geocodificado, ou a configuração do widget aponta para a fonte de endereço errada. O sintoma é quase sempre o mesmo, um mapa que carrega centralizado mas sem nenhum pino, e a causa raiz está nos dados de coordenada ou na chave de API, não no widget em si.
Como identificar
- O mapa carrega normalmente, centralizado, mas nenhum marcador aparece sobre ele.
- O console do navegador exibe um erro do Google Maps como ‘Google Maps JavaScript API error: ApiNotActivatedMapError’ ou ‘RefererNotAllowedMapError’.
- O mapa aparece totalmente cinza com a marca d’agua ‘For development purposes only’, sinalizando API key sem faturamento ativo.
- Apenas alguns itens do Listing mostram marcador e o restante some, indicando itens sem coordenadas preenchidas.
- No editor o widget Maps Listing renderiza o mapa, mas na pré-visualização e no frontend os pinos não são plotados.
Como prevenir
- Restrinja a API key do Google Maps por referenciador HTTP e por API (apenas Maps JavaScript API e Geocoding API), evitando uso indevido sem quebrar a renderização do site.
- Padronize um campo de endereço dedicado nos tipos de post mapeados e valide a geocodificação ao cadastrar cada item, em vez de confiar em texto livre.
- Mantenha uma conta de faturamento ativa no Google Cloud com orçamento e alertas, pois a falta de faturamento derruba os mapas com a marca d’agua de desenvolvimento.
- Documente qual meta field alimenta cada Maps Listing para que ninguém troque a fonte de endereço por engano ao editar o Listing.
Causa
- A API key do Google Maps não está configurada nas Maps Settings do JetEngine, ou a chave existe mas a Maps JavaScript API não foi habilitada no projeto do Google Cloud, impedindo o mapa de inicializar e plotar pinos.
- O campo usado como fonte de endereço é do tipo texto comum e nunca foi geocodificado: sem o par latitude e longitude salvo no item, o JetEngine não tem coordenadas para posicionar o marcador.
- A geocodificação falha porque a Geocoding API não está habilitada no mesmo projeto do Google Cloud da chave, então o endereço em texto nunca é convertido em coordenadas ao salvar o item.
- No widget Maps Listing a opção de fonte do endereço aponta para o meta field errado (ou para um campo vazio), de modo que o JetEngine lê coordenadas inexistentes e não desenha nenhum pino.
- A restrição de domínio (HTTP referrers) da API key no Google Cloud não inclui o domínio do site, fazendo o Google bloquear a requisição com RefererNotAllowedMapError e abortar a renderização dos marcadores.
Como resolver
- Confira a API key do provedor de mapas no JetEngine: Abra as configurações de mapas do JetEngine e confirme que há uma API key válida do provedor escolhido. Sem chave, o mapa até carrega em modo limitado, mas a renderização de marcadores falha.
Painel WP -> JetEngine -> JetEngine (Settings) -> aba Maps Settings Cole a API key do Google Maps no campo API Key e salve Confirme o provedor selecionado (ex.: Google Maps) - Habilite as APIs corretas no Google Cloud: No console do Google Cloud, no mesmo projeto da chave, ative a Maps JavaScript API (desenha o mapa) e a Geocoding API (converte endereço em coordenadas). Garanta também que o faturamento esteja ativo, senão o mapa aparece cinza com aviso de desenvolvimento.
Google Cloud Console -> APIs e Serviços -> Biblioteca Ative 'Maps JavaScript API' Ative 'Geocoding API' Faturamento -> confirme uma conta de faturamento vinculada ao projeto - Confirme a fonte de endereço no widget Maps Listing: Edite o Listing do mapa e verifique a opção que define de onde vêm as coordenadas. Ela precisa apontar para o campo de endereço ou de mapa real do item, não para um campo vazio ou de texto solto.
Abra o Listing Item do mapa no editor (Elementor ou Blocos) Selecione o widget Maps Listing -> defina a fonte do endereço (Source) para o meta field correto Salve e atualize a pré-visualização - Garanta coordenadas geocodificadas em cada item: Abra alguns posts ou registros que deveriam aparecer no mapa e confirme que o campo de endereço está preenchido e foi geocodificado, gerando latitude e longitude. Reabrir e salvar o item força o JetEngine a geocodificar o endereço novamente.
Painel WP -> abra um item do tipo de post usado no mapa Preencha o campo de endereço com um endereço completo e válido Atualize (Update) o item para disparar a geocodificação e gravar lat/lng - Ajuste as restrições de domínio da API key: Se o console do navegador mostrar RefererNotAllowedMapError, a chave está restrita a domínios que não incluem o site. Adicione o domínio do WordPress à lista de referrers permitidos da chave.
Google Cloud Console -> APIs e Serviços -> Credenciais -> abra a API key Em Restrições de aplicativo, escolha Referenciadores HTTP Adicione 'https://seusite.com/*' e 'https://*.seusite.com/*' e salve
// Cole no console do navegador na página com o mapa do JetEngine.
// Lista cada item do Maps Listing e mostra se tem coordenadas válidas.
document.querySelectorAll('.jet-map-listing__item, .jet-map-marker').forEach(function (el, i) {
var lat = el.getAttribute('data-lat') || el.dataset.lat;
var lng = el.getAttribute('data-lng') || el.dataset.lng;
var ok = lat && lng && !isNaN(parseFloat(lat)) && !isNaN(parseFloat(lng));
console.log('Item ' + (i + 1) + ' -> lat:', lat, '| lng:', lng, ok ? '| OK' : '| SEM COORDENADAS');
});














