Função para obter latitude e longitude

Essa semana to finalizando um job que envolve geoprocessamento e afins, e pra isso precisei entrar num eco-sistema um pouco novo.Basicamente, li igual loco api do google maps 🙂

A apiv3 do google maps está sensacional, e permite fazer coisas incriveis com pouco esforço.

Pesquisando achei uma pérola na internet que salvou minha vida :).

 

O caso de uso é:

Preciso pegar uma lista de endereço e traçar uma rota usando google Maps.

Existe um serviço na internet muito útil disponibilizado pela galera da ViaCep que disponibiiza os dados de logradouro de acordo com um CEP.

 

$url = "https://viacep.com.br/ws/".$cep."/json";

$json = @file_get_contents($url);

Daí, tendo o endereço, voce consegue usar a função abaixo:

function getLatLong($address,$region)
{
$address = str_replace(" ", "+", $address);

$json = file_get_contents("https://maps.google.com/maps/api/geocode/json?address=$address&sensor=false&region=$region");
$json = json_decode($json);

$lat = $json->{'results'}[0]->{'geometry'}->{'location'}->{'lat'};
$long = $json->{'results'}[0]->{'geometry'}->{'location'}->{'lng'};

return array('latitude'=>$lat,'longitude'=>$long);
}

Agora, com a lat/long em mãos, você pode fazer tudo o que imaginar com o google maps.

 

https://viacep.com.br/

11 comentários sobre “Função para obter latitude e longitude

    1. Grande Cosme, recentemente usei a função e continua funcional…mas eu recomendo sempre estudar a documentação oficial da API…de repente já surgiram novas formas de implementar 🙂

      1. Nossa Alexandre parabéns pelo seu trabalho, sua função está funcionando perfeitamente irmão, implementei ela aqui. Obrigado por responder, vou estar sempre seguindo seu trabalho e ajudando a promover o mesmo. Estou iniciando meus estudos. Estou tetando agora é executar essa função ao sair do input que digito o cep, evento “change” e colocar a latitude e longitude em outro input. Alguma dica? Estou tentando com js.

      2. Grande Cosme, fico feliz que possa ter ajudado.
        Com relação ao que está tentando fazer, está correto.
        No evento change chama uma função em javascript que faz uma requisição em ajax e retorna os valores para os inputs…
        Sucesso no seu trabalho 🙂

  1. Grande Alexandre, estou querendo entrar em contato contigo, preciso saber se dá consultoria ou algo parecido, tem um e-mail ou Skype que possamos conversar? Obrigado!

  2. Amigo, ainda funciona? Estou tentando aqui em 2019 e parece que alguma coisa mudou… agora seria necessário usar uma chave api do google? E essa tem que ter uma conta de faturamento para que o google permita o acesso?

    1. Boa tarde Natan, me desculpe de verdade pela demora na resposta do seu comentário. Estive sem acesso por um grande período ao blog e agora pretendo retomar essa atividade. Para usar essa API é sim necessário usar uma chave, e pra obter essa chave você consegue gerar isso de forma gratuita por um periodo para avaliação. Segue um link com exemplo para implementação.

      https://suporte.fabricadeaplicativos.com.br/hc/pt-br/articles/360017529852-Ativando-as-chaves-de-API-do-Google-Maps

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s