Este tutorial ensina como criar um script no Google Apps Script para preencher automaticamente endereços em uma planilha do Google Sheets a partir de coordenadas de latitude e longitude. Utilizaremos a API do Google Maps para converter coordenadas em endereços formatados.
Abra o Google Sheets.
Crie uma nova planilha.
Configure as colunas da seguinte forma:
Coluna D: Coordenadas (latitude, longitude) no formato -23.564755938564087, -46.66082667244109.
Coluna L: Endereço (onde será preenchido automaticamente pelo script).
No Google Sheets, clique em Extensões > Apps Script.
Apague qualquer código existente.
Copie e cole o seguinte código:
function preencherEnderecos() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const rows = sheet.getDataRange().getValues();
rows.forEach((row, i) => {
if (i === 0) return; // Ignorar a linha do cabeçalho (linha 1)
const latLong = row[3]; // Coordenadas na coluna D (Ãndice 3)
const enderecoAtual = row[7]; // Endereço na coluna L (Ãndice 11)
if (!latLong) {
Logger.log(`Coordenadas ausentes na linha ${i + 1}`);
return;
}
if (!enderecoAtual) { // Apenas processar linhas sem endereço preenchido
Logger.log(`Processando coordenadas na linha ${i + 1}: ${latLong}`);
const endereco = buscarEndereco(latLong);
if (endereco) {
Logger.log(`Endereço encontrado: ${endereco}`);
sheet.getRange(i + 1, 7).setValue(endereco); // Preencher a coluna L (Ãndice 11)
} else {
Logger.log(`Nenhum endereço encontrado para: ${latLong}`);
}
}
});
}
function buscarEndereco(latLong) {
try {
Logger.log(`Buscando endereço para: ${latLong}`);
const apiKey = 'SEU CODIGO apiKey'; // Substitua pela sua chave de API do Google
const url = `https://maps.googleapis.com/maps/api/geocode/json?latlng=${latLong}&key=${apiKey}`;
Logger.log(`URL da API: ${url}`);
const response = UrlFetchApp.fetch(url);
const data = JSON.parse(response.getContentText());
Logger.log(`Resposta da API: ${JSON.stringify(data)}`);
if (data.status === 'OK' && data.results.length > 0) {
return data.results[0].formatted_address; // Retorna o endereço completo
} else {
Logger.log(`Erro na API ou endereço não encontrado. Status: ${data.status}`);
}
} catch (e) {
Logger.log(`Erro ao buscar endereço: ${e.message}`);
}
return null; // Retorna null se algo deu errado
}
SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); → Obtém a planilha ativa.
sheet.getDataRange().getValues(); → Obtém todos os valores da planilha.
rows.forEach((row, i) => {...}); → Percorre todas as linhas da planilha.
if (i === 0) return; → Ignora a primeira linha (cabeçalho).
const latLong = row[3]; → Obtém as coordenadas da coluna D.
const enderecoAtual = row[11]; → Obtém o endereço da coluna L.
if (!latLong) {...} → Verifica se há coordenadas na linha.
if (!enderecoAtual) {...} → Verifica se o endereço já está preenchido.
const endereco = buscarEndereco(latLong); → Chama a função para buscar o endereço.
sheet.getRange(i + 1, 12).setValue(endereco); → Preenche o endereço na planilha.
UrlFetchApp.fetch(url); → Faz a requisição para a API do Google Maps.
JSON.parse(response.getContentText()); → Converte a resposta em JSON.
Acesse o Google Cloud Console.
Crie um novo projeto ou selecione um existente.
No menu APIs e serviços, ative a Google Maps Geocoding API.
No menu Credenciais, crie uma nova Chave de API.
Copie sua chave e substitua 'SUA_CHAVE_DE_API_AQUI' no código acima.
No editor de Apps Script, clique em Executar > preencherEnderecos.
Autorize o script quando solicitado.
O script percorrerá as linhas da planilha e preencherá os endereços na coluna L.
Agora, sempre que quiser preencher os endereços com base nas coordenadas, basta executar o script preencherEnderecos. Ele verificará as coordenadas na coluna D, consultará a API do Google Maps e preencherá os endereços na coluna L.
Este script pode ser automatizado para rodar periodicamente usando o recurso Triggers no Apps Script.
🚀 Agora sua planilha preenche endereços automaticamente a partir de coordenadas!
