DÊVIDA COM WEB SERVICE GOOGLE MAPS

MLALEX 29/06/2016 12:08:20
#464276
Olá pessoal!!

Estou tentando fazer uma pesquisa de localização através de um web service da google maps com o seguinte código:

 Request = CType(WebRequest.Create([Ô]https://maps.googleapis.com/maps/api/geocode/json?address=RUA+ERNESTO+TRIVELLATO,Ponte+Nova[Ô]), HttpWebRequest)

Request.Proxy = Nothing
Request.Method = [Ô]Post[Ô]
Request.ContentType = [Ô]text/json[Ô]

Dim Envia As New System.IO.StreamWriter(Request.GetRequestStream())

Envia.Flush()
Envia.Close()

Resposta = CType(Request.GetResponse(), HttpWebResponse)
Dim RespostaStream As System.IO.Stream = Resposta.GetResponseStream

Dim StreamReader As New System.IO.StreamReader(RespostaStream)
Dim Resultado As String = StreamReader.ReadToEnd
StreamReader.Close()


Através desse código o resultado é [Ô]zero[Ô]. Mas se jogo o endereço diretamente no meu navegador:
https://maps.googleapis.com/maps/api/geocode/json?address=RUA+ERNESTO+TRIVELLATO,Ponte+Nova
o resultado é positivo.

O que está errado????
KERPLUNK 29/06/2016 15:04:06
#464292
Resposta escolhida
Experimente usar o método GET ao invés de POST
MLALEX 29/06/2016 15:44:54
#464297
Valeu a dica Kerplunk. Estou pesquisando como fazer com o método get. Não sei o código para isso.

Tentei o seguinte:

Citação:

Dim webClient As New System.Net.WebClient
Dim Resultado As String = webClient.DownloadString([Ô]https://maps.googleapis.com/maps/api/geocode/json?address=RUA+ERNESTO+TRIVELLATO,Ponte+Nova[Ô])



Mas o resultado é o mesmo abaixo:

{
[Ô]results[Ô] : [],
[Ô]status[Ô] : [Ô]ZERO_RESULTS[Ô]
}


MLALEX 29/06/2016 16:11:15
#464300
Tentei assim também:

Request = CType(WebRequest.Create([Ô]https://maps.googleapis.com/maps/api/geocode/json?address=RUA+ERNESTO+TRIVELLATO,Ponte+Nova[Ô]), HttpWebRequest)

Request.Proxy = Nothing
Request.Method = [Ô]Get[Ô]
Request.ContentType = [Ô]text/json[Ô]

Dim Envia As New System.IO.StreamReader(Request.GetRequestStream())

Envia.ReadToEnd()
Envia.Close()

Resposta = CType(Request.GetResponse(), HttpWebResponse)
Dim RespostaStream As System.IO.Stream = Resposta.GetResponseStream

Dim StreamReader As New System.IO.StreamReader(RespostaStream)
Dim Resultado As String = StreamReader.ReadToEnd
StreamReader.Close()


Mas o resultado repete:

{
[Ô]results[Ô] : [],
[Ô]status[Ô] : [Ô]ZERO_RESULTS[Ô]
}


Pensei que poderia haver algo de errado no endereço, mas como, se quando uso direto no navegador dá certinho???

E então??
KERPLUNK 29/06/2016 16:29:24
#464301
Espera, o que espera que retorne fazendo isso?
MLALEX 29/06/2016 17:17:46
#464303
O resultado que você visualiza quando digita o endereço diretamente no navegador. Para ser mais preciso, o resultado abaixo:

{
[Ô]results[Ô] : [
{
[Ô]address_components[Ô] : [
{
[Ô]long_name[Ô] : [Ô]Avenida Ernesto Trivelato[Ô],
[Ô]short_name[Ô] : [Ô]Av. Ernesto Trivelato[Ô],
[Ô]types[Ô] : [ [Ô]route[Ô] ]
},
{
[Ô]long_name[Ô] : [Ô]Triângulo[Ô],
[Ô]short_name[Ô] : [Ô]Triângulo[Ô],
[Ô]types[Ô] : [ [Ô]political[Ô], [Ô]sublocality[Ô], [Ô]sublocality_level_1[Ô] ]
},
{
[Ô]long_name[Ô] : [Ô]Ponte Nova[Ô],
[Ô]short_name[Ô] : [Ô]Pte. Nova[Ô],
[Ô]types[Ô] : [ [Ô]locality[Ô], [Ô]political[Ô] ]
},
{
[Ô]long_name[Ô] : [Ô]Ponte Nova[Ô],
[Ô]short_name[Ô] : [Ô]Pte. Nova[Ô],
[Ô]types[Ô] : [ [Ô]administrative_area_level_2[Ô], [Ô]political[Ô] ]
},
{
[Ô]long_name[Ô] : [Ô]Minas Gerais[Ô],
[Ô]short_name[Ô] : [Ô]MG[Ô],
[Ô]types[Ô] : [ [Ô]administrative_area_level_1[Ô], [Ô]political[Ô] ]
},
{
[Ô]long_name[Ô] : [Ô]Brasil[Ô],
[Ô]short_name[Ô] : [Ô]BR[Ô],
[Ô]types[Ô] : [ [Ô]country[Ô], [Ô]political[Ô] ]
},
{
[Ô]long_name[Ô] : [Ô]35430-141[Ô],
[Ô]short_name[Ô] : [Ô]35430-141[Ô],
[Ô]types[Ô] : [ [Ô]postal_code[Ô] ]
}
],
[Ô]formatted_address[Ô] : [Ô]Av. Ernesto Trivelato - Triângulo, Pte. Nova - MG, 35430-141, Brasil[Ô],
[Ô]geometry[Ô] : {
[Ô]bounds[Ô] : {
[Ô]northeast[Ô] : {
[Ô]lat[Ô] : -20.4070049,
[Ô]lng[Ô] : -42.9006108
},
[Ô]southwest[Ô] : {
[Ô]lat[Ô] : -20.4136358,
[Ô]lng[Ô] : -42.904545
}
},
[Ô]location[Ô] : {
[Ô]lat[Ô] : -20.4105101,
[Ô]lng[Ô] : -42.9009547
},
[Ô]location_type[Ô] : [Ô]GEOMETRIC_CENTER[Ô],
[Ô]viewport[Ô] : {
[Ô]northeast[Ô] : {
[Ô]lat[Ô] : -20.4070049,
[Ô]lng[Ô] : -42.9006108
},
[Ô]southwest[Ô] : {
[Ô]lat[Ô] : -20.4136358,
[Ô]lng[Ô] : -42.904545
}
}
},
[Ô]partial_match[Ô] : true,
[Ô]place_id[Ô] : [Ô]ChIJvRXGKVaWpAARTnuTqibchaA[Ô],
[Ô]types[Ô] : [ [Ô]route[Ô] ]
}
],
[Ô]status[Ô] : [Ô]OK[Ô]
}
KERPLUNK 29/06/2016 17:52:04
#464308
Tente assim e veja se funciona:

Dim request As HttpWebRequest = TryCast(WebRequest.Create([Ô]http://maps.googleapis.com/maps/api/geocode/json?sensor=false&address=RUA+ERNESTO+TRIVELLATO,ponte+nova,Brasil[Ô]), HttpWebRequest)
Dim response As HttpWebResponse = TryCast(request.GetResponse(), HttpWebResponse)
Dim reader As New StreamReader(response.GetResponseStream())
Dim responseContent As String = reader.ReadToEnd().Trim()

MLALEX 29/06/2016 18:00:23
#464309
Olha o absurdo que eu descobri:

O nome correto da rua é Trivellato com 2 [Ô]L[Ô]

Se digito com 2 L no navegador o resultado vem como devia vir mas só que com 1 L apenas

Através do meu código se digito com 2L, o resultado é zero, mas se digito conforme está registrado no google, ou seja com 1 L, dá certinho.

Porque isso? O que o navegador faz de diferente?

Outro detalhe. Se uso com 2 L via
Response.Redirect([Ô]https://maps.googleapis.com/maps/api/geocode/json?address=RUA+ERNESTO+TRIVELLATO,Ponte+Nova[Ô]) 
também funciona como deveria.

Então tem alguma coisa errada no meu código. Vamos ter que chamar o detetive virtual do fantastico para descobrir esse mistério??
MLALEX 30/06/2016 09:02:08
#464324
QUE DEUS LHE PAGUE COM JURO E CORREÇÃO MONETÁRIA o tempo que você dedicou em me ajudar!!!


FUNCIONOU!!!!! PERFEITO!!!


Vou estudar o que você com esse código pois tentei de todas as formas e nada.


MUITO... MUITO...MUITO OBRIGADO.
Tópico encerrado , respostas não são mais permitidas