# 📍 Configuração do Google Maps API para Busca de Coordenadas Este guia explica como configurar a API do Google Maps para obter coordenadas GPS de forma automática e precisa no sistema de Endereços de Marcação. ## 🎯 Por que usar Google Maps? - ✅ **Maior Precisão**: Resultados mais exatos para endereços brasileiros - ✅ **Melhor Cobertura**: Banco de dados mais completo e atualizado - ✅ **Geocoding Avançado**: Entende melhor endereços incompletos ou parciais > **Nota**: O sistema funciona perfeitamente sem a API key do Google Maps, usando OpenStreetMap (gratuito). A configuração do Google Maps é opcional. --- ## 📋 Passo a Passo ### 1. Criar Projeto no Google Cloud Platform 1. Acesse [Google Cloud Console](https://console.cloud.google.com/) 2. Clique em **"Criar Projeto"** ou selecione um projeto existente 3. Preencha o nome do projeto (ex: "SGSE-App") 4. Clique em **"Criar"** ### 2. Ativar a Geocoding API 1. No menu lateral, vá em **"APIs e Serviços"** > **"Biblioteca"** 2. Procure por **"Geocoding API"** 3. Clique no resultado e depois em **"Ativar"** 4. Aguarde alguns segundos para a ativação ### 3. Criar Chave de API 1. Ainda em **"APIs e Serviços"**, vá em **"Credenciais"** 2. Clique em **"Criar Credenciais"** > **"Chave de API"** 3. Copie a chave gerada (você precisará dela depois) ### 4. Configurar Restrições de Segurança (Recomendado) Para proteger sua chave de API: 1. Clique na chave criada para editá-la 2. Em **"Restrições de API"**: - Selecione **"Restringir chave"** - Escolha **"Geocoding API"** 3. Em **"Restrições de aplicativo"**: - Para desenvolvimento local: escolha **"Referenciadores de sites HTTP"** - Adicione: `http://localhost:*` e `http://127.0.0.1:*` - Para produção: adicione o domínio do seu site 4. Clique em **"Salvar"** ### 5. Configurar no Projeto 1. No diretório `apps/web/`, copie o arquivo de exemplo: ```bash cp .env.example .env ``` 2. Abra o arquivo `.env` e adicione sua chave: ```env VITE_GOOGLE_MAPS_API_KEY=sua_chave_aqui ``` 3. Reinicie o servidor de desenvolvimento: ```bash npm run dev ``` ### 6. Verificar se está funcionando 1. Acesse a página de **Endereços de Marcação** (`/ti/configuracoes-ponto/enderecos`) 2. Clique em **"Novo Endereço"** 3. Preencha um endereço e clique em **"Buscar GPS"** 4. Se configurado corretamente, verá a mensagem: *"Coordenadas encontradas via Google Maps!"* --- ## 💰 Custos ### Google Maps Geocoding API - **$5.00 por 1.000 requisições** (primeiros 40.000 são gratuitos por mês) - **$0.005 por requisição** após os 40.000 gratuitos > 💡 Para a maioria dos casos de uso, os 40.000 gratuitos são suficientes! ### OpenStreetMap (Fallback) - **100% Gratuito** e ilimitado - Sem necessidade de configuração - Precisão levemente menor, mas ainda muito boa --- ## 🔄 Como funciona o sistema O sistema foi projetado para usar uma estratégia de **fallback inteligente**: 1. **Primeiro**: Tenta buscar via Google Maps (se API key configurada) 2. **Se falhar ou não tiver API key**: Usa automaticamente OpenStreetMap 3. **Feedback**: Informa qual serviço foi usado na mensagem de sucesso Isso garante que o sistema sempre funcione, mesmo sem a API key do Google Maps. --- ## 🔒 Segurança ### ⚠️ Importante - **Nunca** commite o arquivo `.env` no Git (já está no .gitignore) - **Nunca** compartilhe sua chave de API publicamente - Configure **restrições de API** no Google Cloud Console - Para produção, use variáveis de ambiente seguras no seu provedor de hospedagem ### Configuração em Produção Para ambientes de produção (Vercel, Netlify, etc.): 1. Acesse as configurações do projeto no seu provedor 2. Vá em **"Environment Variables"** ou **"Variáveis de Ambiente"** 3. Adicione: `VITE_GOOGLE_MAPS_API_KEY` com o valor da sua chave 4. Faça o deploy novamente --- ## ❓ Solução de Problemas ### A busca não está usando Google Maps - Verifique se a variável `VITE_GOOGLE_MAPS_API_KEY` está no arquivo `.env` - Reinicie o servidor de desenvolvimento - Verifique no console do navegador se há erros ### Erro: "This API project is not authorized to use this API" - Verifique se a **Geocoding API** está ativada no projeto - Aguarde alguns minutos após a ativação (pode levar até 5 minutos) ### Erro: "API key not valid" - Verifique se copiou a chave corretamente - Verifique se as restrições de API permitem o uso da Geocoding API - Verifique se as restrições de aplicativo permitem seu domínio/endereço ### Mensagem: "Coordenadas encontradas via OpenStreetMap" - Isso é normal se: - Não há API key configurada - A API key não é válida - O Google Maps falhou na busca - O sistema continua funcionando normalmente com OpenStreetMap --- ## 📚 Recursos Úteis - [Google Cloud Console](https://console.cloud.google.com/) - [Documentação Geocoding API](https://developers.google.com/maps/documentation/geocoding) - [Preços Google Maps](https://developers.google.com/maps/billing-and-pricing/pricing) - [OpenStreetMap Nominatim](https://nominatim.org/) --- ## ✅ Resumo 1. ✅ Crie projeto no Google Cloud 2. ✅ Ative Geocoding API 3. ✅ Crie chave de API 4. ✅ Configure restrições (recomendado) 5. ✅ Adicione `VITE_GOOGLE_MAPS_API_KEY` no `.env` 6. ✅ Reinicie o servidor **Pronto!** O sistema agora usará Google Maps para busca de coordenadas com maior precisão.