Este código em PHP foi desenvolvido para calcular rotas com base em CEPs, utilizando a API do Google Maps Geocoding. Ele também inclui funcionalidades para calcular a taxa da rota, considerando valores como preço por quilômetro, preço mínimo por rota, entre outros. O código foi inicialmente criado com a assistência do ChatGPT e está aberto a contribuições para melhorias.
usar este código, substitua 'SUA_CHAVE_API'
pelo valor da sua chave de API do Google Maps na chamada da função obterCoordenadasPorCEP
.
No código, você encontrará variáveis relacionadas ao cálculo da taxa, como valorPorKM
, valorMinimoPorRota
, e distanciaMinimaParaCobranca
. Certifique-se de ajustar esses valores de acordo com os requisitos do seu sistema.
$cepInicial = 'CEP_INICIAL';
$cepFinal = 'CEP_FINAL';
$apiKey = 'SUA_CHAVE_API';
// Calcular a distância entre os CEPs
$distanciaKm = calcularDistancia($cepInicial, $cepFinal, $apiKey);
// Calcular a taxa da rota
$taxaDaRota = calcularTaxa($distanciaKm);
// Exibir o resultado
echo "Distância: {$distanciaKm} km\n";
echo "Taxa da Rota: R$ {$taxaDaRota}\n";
calcularDistancia($cepInicial, $cepFinal, $apiKey)
: Calcula a distância em quilômetros entre dois CEPs.obterCoordenadasPorCEP($cep, $apiKey)
: Obtém as coordenadas geográficas a partir de um CEP.calcularTaxa($distancia)
: Calcula a taxa da rota com base na distância em quilômetros.
- Este código utiliza a API do Google Maps Geocoding, então é necessário ter uma chave de API válida.
- As variáveis de configuração como
valorPorKM
,valorMinimoPorRota
, edistanciaMinimaParaCobranca
devem ser ajustadas conforme a política de preços do serviço.
Este código está aberto a contribuições. Caso tenha sugestões de melhorias ou soluções, sinta-se à vontade para enviar suas alterações.
Lembre-se de substituir 'SUA_CHAVE_API'
, 'CEP_INICIAL'
, 'CEP_FINAL'
pelos valores reais que deseja utilizar.
Espero que este código seja útil, e da mesma forma que ajudou você, espero que ajude outros desenvolvedores. Caso tenha alguma dúvida ou sugestão, não hesite em entrar em contato!