Essa é uma das primeiras perguntas que alguém faz quando começa a utilizar a API de mapas do google. Bom no meu caso eu queria saber isso NÃO através de JS e sim via PHP!
SE VOCÊ QUER SABER QUAL A LATITUDE DE UM ENDEREÇO CLIQUE AQUI. SE FOR PROGRAMADOR CONTINUE LENDO 🙂
A versão atual da API de mapas do google e versão 3 e uma coisa muito legal que tem nesta versão é que agora você não precisa mais gerar aquela famigerada (bonita palavra não) chave de validação que vamos e convenhamos era um porre total!
Outra coisa muito legal é que o google gentilmente disponibilizou na versão 3 um Webservice que dentre outras coisas faz o geocode, que nada mais é do que a partir de um endereço retornar suas características geográficas (não apenas latitude e longitude, vem um montão de coisa).
Ok e como eu uso este Webservice ? Simples pequeno gafanhoto é só passar o endereço via parâmetro na seguinte URL:
http://maps.google.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&sensor=true_or_false
Isso ai vai te retornar um objeto JSON que você vai espetacularmente converter em um PHP Array e zaz e zaz e zaz ali está suas coordenadas!
Bem por hoje é só pessoal!
Poxa battisti mas eu não sei ler a URL via PHP e minha mãe ta doente e eu quero dar um CTRL + C / CTRL + V e hoje é sexta e meu chefe ta me pertubando e tal será que não rola um codiginho! Ta bom ta bom vamos la então, MAS (sempre tem um mas) eu usei a função url_encode ou seja essa treta tem que estar instalada no seu servidor, se não estive use essa lib aqui!
Veja o código fonte
Agora sim com código e tudo é hora de dizer tchau!
Battisti, mto bom esse código, parabéns, agora tem só uma coisa.
Eu consegui pegar os primeiros resultados, mas agora o lat e lng que preciso não consegui, como vou pegar apenas esses dois resultados
olha este cara retorna tudo :)! ai o que vc faz é tratar o retorno do google e mandar pra tua aplicação só o que vc precisa!
Cara burro esse Angelo, quer td mastigado, trata a porra do XML vagabundo!
Battisti boa tarde
Finalmente consegui achar um cógido legal e fácil, agora se puder me ajudar com um problema, isso se você já passou por isso….
Quando eu coloco a linha de comando direto no browser (IE, Chrome, etc) funciona perfeitamente (ex: http://maps.google.com/maps/api/geocode/json?address=Rua+Francisco+Glic%C3%A9rio,+910,+VALINHOS,+SP&sensor=false), porém quando executo em .php, num servidor linux / windows, com Apache, ele retorna INVALID_REQUEST. Funciona para alguns endereços e outros não, mas isso somente no meu site, porque direto no browser, funciona normalmente….
Já passou por isso?
Obrigado e abs.
Saudações
Pode ser o teu firewall ou mesmo fopen que está desabilitado no apache!
Se estiver na tua máquina local pode ser o antivirus te bloqueando!
Oi Battisti. Obrigado pela dica. Não sou programador, mas quero saber se é possível converter em batch, ou seja, se é possível ter uma planilha com centenas de cep e UF convertida em latitudes e longitudes. Obrigado.
Da pra fazer sim, mas tem que programar 🙂
Battisti, uma dúvida ai eu ainda fico privado as 2500 requisições pro serviço gratuito do google maps? vou gerar isso pra um banco e colocar a latitude e a longitude em uma coluna da tabela. Porém eu havia montado uma classe só que a maps key ta bloqueando meu ip por que só aceitam no minimo 2500 requisições. Dessa forma ai tem o msm limite?
Sim tem o mesmo limite, se vc quiser tem que comprar o google, ta aproximadamente 10k reais por ano. Um cliente nosso ta negociando mas não querem baixar.
Boa tarde,
Script muito bom, porém gostaria que você disponibiliza-se o código-fonte.
Cadê o link do codiguiiinho? =(
acho que deu pau no plugin que fazia isso no wordpress.
coloquei o link direto!
https://gist.github.com/anselmobattisti/330990#file-geocode-php
Web Service Busca Cep com retorno xml do endereço completo, Latitude e longitude, Código IBGE e População Estimada do Municipio.
Acesse o site http://www.mapacep.com.br/webservice.asp e solicite a key para usar o serviço
MapaCEP – Busca CEP