Clipper On Line • Ver Tópico - Geo location do google

Geo location do google

Aqui você poderá oferecer suas Contribuições, Dicas e Tutoriais (Texto ou Vídeo) que sejam de interesse de todos.

Moderador: Moderadores

 

Geo location do google

Mensagempor JoséQuintas » 04 Nov 2020 14:38

Do fórum harbour-users.

//-----------------7
FUNCTION GetGeocode( cAddress, cKey)
LOCAL cCoordinates:= "", nLatitude:= 0, nLongitude:= 0
LOCAL cUrl, oUrl, oClient, cChunk, cData

//1600+Amphitheatre+Parkway,+Mountain+View,+CA

cAddress:= STRTRAN( cAddress, " ", "+" )
cUrl:= "https://maps.googleapis.com/maps/api/geocode/xml?key="+cKey+"&address="+ALLTRIM(cAddress)+"&sensor=false"

oUrl := TUrl():New( cUrl )
oClient := TIPClientHTTP():new( oUrl )
IF oClient:Open()
   cChunk:= oClient:Read()
   cData:= ""
   WHILE !EMPTY( cChunk )
      cData+= cChunk
      cChunk:= oClient:Read()
   ENDDO
   IF LEN( cData ) > 0
      cCoordinates:= getTAG( "geometry", cData )
      cCoordinates:= getTAG( "location", cCoordinates )
      nLatitude:= VAL( getTAG( "lat", cCoordinates ) )
      nLongitude:= VAL( getTAG( "lng", cCoordinates ) )
   ENDIF

   oClient:Close()
ENDIF
RETURN { nLatitude, nLongitude }

//------------------------
FUNCTION getTAG(xtag,xml)
LOCAL xret, xpos, xini:= 1, xfim
xpos:= HB_AT("<"+xtag+">",xml,xini)
IF EMPTY( xpos )
   xpos:= HB_AT("<"+xtag+" ",xml,xini)
ENDIF
IF xpos > 0
   xpos:= xpos+LEN(xtag)+2
   xfim:= HB_AT("</"+xtag+">",xml,xpos)
   xret:= SUBS(xml,xpos,xfim-xpos)
ELSE
   xret:= ""
ENDIF
RETURN xret
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 16169
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 13 vezes
Mens.Curtidas: 919 vezes

Geo location do google

Mensagempor asimoes » 04 Nov 2020 19:34

Como é que funciona isso?
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 5060
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 340 vezes
Mens.Curtidas: 241 vezes




Retornar para Contribuições, Dicas e Tutoriais

Quem está online

Usuários vendo este fórum: Ahrefs [Bot], Google [Bot] e 4 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro