Consulta de CEP Gratuita com o Google Maps API

Olá pessoal, fiquei afastado do blog por um bom tempo devido à dedicação quase que em fulltime do meu tempo em outros projetos. Espero, aos poucos, conseguir me empenhar de vez em minhas atividades na comunidade.

Para começar, com o advento do e-commerce, uma funcionalidade que se tornou bastante comum no dia-a-dia do desenvolvedor é a feature do “Consulta CEP”. Quando um cliente vai se cadastrar em qualquer site, é extremamente comum ele preencher o CEP e os demais campos cadastrais serem preenchidos.

Recentemente eu disponibilizei no CodePlex um wrapper .NET para a API do Google Maps que permite realizar este tipo de tarefa (entre muitas outras). Para isto utilizaremos a parte do Geoconding do Google Maps através deste componente.

Para isto, realize o download do componente e adicione como uma referência em seu projeto (no caso abaixo, eu criei uma ConsoleApplication).

Você também deve adicionar o assembly System.ServiceModel.

Por fim, você deve adicionar um app.config (no caso de ser uma aplicação web, pode utilizar o web.config) e adicionar o seguinte conteúdo:

O método para obter o endereço através do CEP pode ser executado da seguinte forma:

Do mesmo modo, também podemos pegar CEP através do endereço. Veja só como é simples:

Agora no Main da classe Program vamos adicionar o seguinte:

Você verá exatamente o seguinte:

Meu endereço: R. das Uvaias, 2-178 – Saúde, Sao Paulo – São Paulo, 04055-110, Brazil
Meu CEP: 09811-250

E se você precisa do endereço quebrado (justamente por que precisa preencher campos isolados de sua aplicação)?

É tão simples quanto! Como forma de demonstração, vamos fazer o seguinte: crie os membros privados com o que você deseja exibir:

Agora crie uma função que faça a quebra utilizando o wrapper do CodePlex:

No Main, fica assim:

Ao executar, você terá o seguinte retorno:

Meu endereço: R. Sílvia
Intervalo de números: 1452-1536
Meu bairro: Oswaldo Cruz
Minha cidade: São Caetano do Sul
Meu estado: São Paulo
Meu país: Brazil

Código completo abaixo:

É isto aí galera! Consulta CEP na faixa e sem mistérios…!

About these ads
Etiquetado , , ,

24 thoughts on “Consulta de CEP Gratuita com o Google Maps API

  1. Rafael Flach disse:

    Cara, muito bom seu post, porém você deixa os código todos em imagem velho? ai você quebra as pernas!

  2. Sergio disse:

    Evandro, não tens estes exemplos usando Delphi VCL XE2? Alguma dica de como posso usar este código no Delphi XE2 ?

    Att,

    Sérgio

  3. Rafael Funchal disse:

    Preguiçoso kkkk

  4. Joao disse:

    Agora que a API do Google Maps foi descontinuada eu faço o que?

    • evenancio disse:

      Olá João, a API do Google Maps não foi descontinuada. Conforme mencionado na própria página do Google, a V2 será descontinuada para dar lugar a V3. Inclusive a última atualização se deu a pouco tempo (Last updated Tuesday, April 03, 2012).

      Para nossa sorte, para quem está utilizando a API não muda nada – afinal os métodos e os retornos não foram alterados.

      A verdade é que a V3 da API adiciona diversos novos recursos interessantes, mas não altera os já existentes (ao menos não o que vi para o Geocoding e o Directions), o que é muito inteligente da parte deles.

      Todavia, se você tiver algum problema com a API, é só me relatar – se for o caso eu altero o fonte e faço disponibilizo uma nova versão

  5. Bom dia amigo,

    Poderia disponibilizar para a gente o codigo em texto.

    Obrigado

  6. Danilo Cezar (neeloe) disse:

    Estou com dificuldades para fazer funcionar esse exemplo.
    Sou novo em C# devo estar fazendo algo errado…

    Provavelmente não estou importando corretamente a api ou ainda falta algum passo que deve ser bem obvio pra voces mas pra mim nao.. Enfim, estou fazendo uma app no console igual ao que voce passou. Adicionei o App.config, etc.. Ao compilar ocorre o seguinte erro..:

    ” Error 1 Cannot embed interop types from assembly ‘c:\Estudos.Net\CepUtil\CepUtil\GoogleAPI.Maps.dll’ because it is missing either the ‘ImportedFromTypeLibAttribute’ attribute or the ‘PrimaryInteropAssemblyAttribute’ attribute c:\Estudos.Net\CepUtil\CepUtil\GoogleAPI.Maps.dll CepUtil ”

    Alguma ideia?

    Obrigado!

    • Danilo Cezar (neeloe) disse:

      Criei um WS adicionei as configuracoes mas recebo o erro:

      Error 2 The type or namespace name ‘GoogleAPI’ could not be found (are you missing a using directive or an assembly reference?) C:\Estudos.Net\CepUtil\CepUtil\WSCep\Program.cs 5 7 WSCep

      • Alvimar disse:

        Amigo, mude a versão do framework do seu projeto para 4.0; não pode ser o client profile. Tive este erro e isso resolveu para mim.

        Parabéns e obrigado pelo post Evandro!

  7. Um pouco impreciso no Rio de Janeiro. Alguns Cep ele não acha, outros vem a rua errada.

  8. Danilo disse:

    Voce nao implementou o “GetComponentValue” – referente metodo ObterEnderecoQuebrado – nesse exemplo. Eu implementei mas tive q serializar para pegar os valores.. =/ .. Outra coisa, quando, envio um cep de sao paulo e.g.”13820000″ a api me retorna um erro ” {“Index was outside the bounds of the array.”} ” logo na segunda linha de codigo “var addresslocation = …” O que poderia ser?

  9. Marco Antonio disse:

    Fiz a configuração do model no web config, conferi diversas vezes e esta iqual ao conteudo da imagem que voce postou porem quando compilo apresenta erro “Não reconhecida a configuração do System server Model” . Daria se possível me enviar a configuração por e-mail ?

  10. Marco Antonio disse:

    Opps!!! Não precisa mais Obrigado !!! eu descobri o que errei.

  11. Evandro, ao digitar meu CEP eu consigo retornar Latitude e Longitude?

  12. Jonas Campos disse:

    Olá pessoal,

    Também podem utilizar um webservice gratuito para consulta de CEP:

    http://viacep.com.br/

  13. Rodrigo disse:

    também conheço o http://www.qualocep.com para busca de cep

  14. grupopqbrasil disse:

    Web Service Busca Cep com retorno xml do endereço completo, Latitude e longitude, codigo IBGE e população do municipio.

    Acesse o site http://www.mapacep.com.br/webservice.asp e solicite a key para usar o serviço

    MapaCEP – Busca CEP

  15. Frederico disse:

    Evandro, boa noite! Existe alguma forma de aplicação dessa API para uso no VBA? Estou automatizando uma planilha do departamento e, encontrar os dados de endereço pelo CEP seriam uma mão na roda. Muito obrigado pela ajuda.

  16. Muito bacana! Estou tentando implementar aqui, mas não estou conseguindo fazer com que reconheça a classe Geocoding(). Porque será? Poderia me ajudar a respeito?

  17. Eu aqui novamente galera, eu fiz alguns testes aqui e infelizmente o google retorna muitos resultados incorretos quanto a longitude e latitude, quando pego o resultado destes valores retornados do CEP e vou realizar uma nova consulta pela localização esta dando resultado de ruas próximas e não a rua pretendida. É muito engraçado o Google retornar uma determinada coordenada para o CEP e quando inverte a pesquisa pela coordenada retorna outro CEP. Infelizmente assim fica complicado de confiar ao Google esta tarefa, pelo visto ainda teremos que continuar utilizando serviços de terceiros. =(

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 )

Imagem do Twitter

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

Foto do Facebook

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

Foto do Google+

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

Conectando a %s

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.

%d blogueiros gostam disto: