JavaSript + API

Tutorial: Preenchendo Endereços com Coordenadas no Google Sheets
Introdução

Introdução

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.

Passo 1: Criar uma Planilha do Google Sheets
  1. Abra o Google Sheets.

  2. Crie uma nova planilha.

  3. 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).

Passo 2: Abrir o Editor de Scripts
  1. No Google Sheets, clique em Extensões > Apps Script.

  2. Apague qualquer código existente.

  3. 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
}
				
			

Explicação do Código

  • 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.

Passo 3: Configurar a API do Google Maps

  1. Acesse o Google Cloud Console.

  2. Crie um novo projeto ou selecione um existente.

  3. No menu APIs e serviços, ative a Google Maps Geocoding API.

  4. No menu Credenciais, crie uma nova Chave de API.

  5. Copie sua chave e substitua 'SUA_CHAVE_DE_API_AQUI' no código acima.

Passo 4: Executar o Script

  1. No editor de Apps Script, clique em Executar > preencherEnderecos.

  2. Autorize o script quando solicitado.

  3. O script percorrerá as linhas da planilha e preencherá os endereços na coluna L.

Conclusão

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!

Post a comment

Leave a Comment

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Rolar para cima