Códigos do Guru

Busca Automática de Endereço e Coordenadas por CEP

O código utiliza jQuery para realizar uma busca automática de endereço e coordenadas geográficas (latitude e longitude) com base em um CEP fornecido pelo usuário. Quando o usuário insere um CEP e retira o foco do campo (evento ‘blur’), o script faz uma chamada à API do ViaCEP para obter detalhes do endereço. Se o CEP é válido e o endereço é encontrado, o script, em seguida, consulta a API do Nominatim OpenStreetMap para obter as coordenadas geográficas correspondentes ao endereço. O resultado é exibido em campos específicos na página.

  1. O evento ‘blur’ é anexado ao elemento com id #cep. Esse evento é acionado quando o usuário sai do campo de CEP (ou seja, quando o campo perde o foco).

  2. Quando o evento é acionado:

    • O valor do campo CEP é obtido e todos os caracteres não numéricos são removidos.
    • Os campos #rua, #bairro, #cidade, #estado, #latitude, #longitude são preenchidos com “…” indicando que uma requisição está em andamento.
  3. Uma requisição GET é feita à API do ViaCEP usando o CEP fornecido.

  4. Se a requisição for bem-sucedida (done):

    • E se não houver erro nos dados retornados:
      • Os campos #rua, #bairro, #cidade, #estado são preenchidos com os dados do endereço retornados pela API.
      • Uma nova requisição GET é feita à API do Nominatim OpenStreetMap usando o endereço formatado para obter as coordenadas geográficas.
      • Se as coordenadas forem encontradas, os campos #latitude e #longitude são preenchidos.
      • Se não, uma mensagem de erro é exibida e os campos #latitude e #longitude são limpos.
    • Se houver erro nos dados retornados pela API do ViaCEP (ou seja, CEP não encontrado), uma mensagem de erro é exibida e todos os campos são limpos.
  5. Se a requisição à API do ViaCEP falhar, uma mensagem de erro é exibida e todos os campos são limpos.

O código utiliza duas APIs externas (ViaCEP e Nominatim OpenStreetMap) para buscar e exibir informações de endereço e coordenadas geográficas com base em um CEP fornecido.

Visualização do código

VOCÊ PRECISA DE PERMISSÃO PRA OLHAR O CÓDIGO

odli ; =Lt    (ll 
t llu   e  
a ot ac.;  pel  oe# so }n  m ntsh   �asdtd&d)    l(  n  cc o aa/lrrsen  ;(a
 
sc`.#   me#a#o  oantc]   a�e vn(  t�oa  m#uD( tu  nt   m  r u c ee  #   ne  .({br  t eu   )iopc  ( ur l#'.    tao  s )
c,  o
 r/   &sC ); 
ruo  s 
 t$a  
t na acnf �})  n;lp at ) j
do
 ( h od(f{a ji=s podc  d te )(odd
oe D'e �abid.nla  {m  ofQ   t })(   ) crtlvcv  oasle  co  (; rd d  oa  ic .odui lu  ar c l,m  oc n  (
  u b  n# eo]a  rr r  a  d
n aa    an i &c dsds ct  sa(C ar e pce a o t  pCn #
   e   ) ditb u:}ua(es  n{hia  t o,oi t io 
uu r     l urgu r   
  cl eaD o   F`mn) }aa/ n=r =s 'a}o.n/
 tdc[s .L 0 e{    av
`{ da i e a   } r t  tv  
 o /  t tu�$)t oo o
ao s   �m  a  c$'e,e /hu ,{ /$s b     r t ,ni   rn#e cdi   o;ie l  t o '(a g  l
.siti o(aot ' oa"e  et(d 
  d     tv at a )#v# ) ) os/o    i        '    t vtrpdh l  . .'t e ot=
to e.to . tiao   ee ( ; ,(ro;;u s( ( .b.u /d  se 
{  rl 'oc$  nic   )' el #r t`   r s dbr  ra . rmo '   ; t  10a.).ar e  
 se( t r a ;'  C e sn
tae  s  t 'p# pa o   g   o l    t i (sr U .eo a o
 ,  tu  o acv    d 'm n'  oo; a${om! no$goi  la $t  ` pt l bo `d devF    qr o) ,  Pme  nl
v ala�
f} cau.l     .l 
.   n tsLoo' #a'no$,fm}
d  = /d   P  oy;�.( ovpau ni & $  {  { E  d qia rcmti'')'e rl N(#     eE ao.     so  � tya    a d 'fas$  l   ni }ia  adn=r a re  ' da o nc> o  .   os   f   s  e '   /)c s oa       ea  oDr'rs oaoa v  r' )t   t o  cR oo au ,/
r(t de     l en   g ecn  ro/    .oo() d u)' }  l
dndm) (a #do'B r  snu
a{ a  ha rsade ,t       a  }       s) uoo al   ) ae e?i aPp{t � nt('',c    }r)eof )u#o
da ;eeu# lcsD wn  o bo   aD   g e#lel cm)a�,i' efp 
 o d'(l n n('g da  sa n$l    ro u ) pa  e
 e ", �i 
od(   r.f'a) i v);t  g  n;;a . 'u c) .s  $ a{ tua $l jmaevEdd'd  N rs e$'o o   . .d#tio ) ;    �  i m) la .ore d( si   ' cau f  ()v er r  (rs)n; $a
e eio t drr$o(#  ( Ert  ippt#' 
       d )e n
d   r  g( ia heur,  ;rmi      i.bs ltoi mer    oo' r  . ur  np)}..i  ea  c   ;0c�) =ie . ))  / e cCIou     sor m ro da  ta e )# s # { m [  g   sng,   upf c i.i)iolr'i (�)=ehvnatp p/
 c n E er$ t/  nCcoe,� n   (ti    a  L       t   t
 maatdc#� )r a/)  eao
uoeu  ( ;; ld f a} r/dr  fropi     c e dc d o;(r cent /     o. v et oco .e  d  d.brid. o .l(#a    (a' a (eit /  r)a f    d   no e  ta i$p Nr  aeq $u  $ or(,: 
eso  E,' , P l
(r'aze     s td  / o rsam'a t   ge d  i#e sa u at
 ia ns  ,  ''
d   t oosrus#i