|
FORUMS PROFESSIONNELS WINDEV, WEBDEV et WINDEV Mobile |
| | | | | |
WX - Nova procedure WS_RotasGoogleMaps |
Débuté par BOLLER, 17 juil. 2017 22:31 - 1 réponse |
| |
| | | |
|
| |
Membre enregistré 3 651 messages Popularité : +175 (223 votes) |
|
Posté le 17 juillet 2017 - 22:31 |
Procedure WS_RotasGoogleMaps(enderecoOrigem is string, enderecoDestino is string)
Resultado is string
arrayResultadoLocal is array of string
IF enderecoOrigem = "" OR enderecoDestino = "" THEN RESULT(Null) END
enderecoOrigem = Replace(enderecoOrigem," ","+") enderecoDestino = Replace(enderecoDestino," ","+") enderecoOrigem = NoAccent(NoSpace(enderecoOrigem)) enderecoDestino = NoAccent(NoSpace(enderecoDestino))
HTTPCreateForm("GoogleMaps") HTTPAddParameter("GoogleMaps","origin", enderecoOrigem) HTTPAddParameter("GoogleMaps","destination", enderecoDestino) HTTPAddParameter("GoogleMaps","language", "pt-BR") HTTPAddParameter("GoogleMaps","region", "br") HTTPAddParameter("GoogleMaps","units", "metric")
HTTPAddParameter("GoogleMaps","key","AIzaSyDbSVKYPwB1a-_vPbDzAr6LgAfIj4iW2hc")
cMyRequest is a httpRequest cMyRequest..URL = "https://maps.googleapis.com/maps/api/directions/xml" cMyRequest..Method = httpGet
cMyResponse is a httpResponse = HTTPSendForm("GoogleMaps", cMyRequest)
IF cMyResponse..StatusCode <> 200 THEN RESULT(Null) END
xmlGoogle is a xmlDocument = XMLOpen(cMyResponse..Content, fromString) IF NOT xmlGoogle.DirectionsResponse.status..Text ~= "OK" THEN RESULT(Null) END
Resultado = "<Xml><Resultado><NoXml>" Resultado += "<enderecoOrigem>" + xmlGoogle.DirectionsResponse.route.leg.start_address + "</enderecoOrigem>" Resultado += "<enderecoDestino>" + xmlGoogle.DirectionsResponse.route.leg.end_address + "</enderecoDestino>" Resultado += "<durationvalue>" + xmlGoogle.DirectionsResponse.route.leg.duration.value + "</durationvalue>" Resultado += "<durationtext>" + xmlGoogle.DirectionsResponse.route.leg.duration.text + "</durationtext>" Resultado += "<distancevalue>" + xmlGoogle.DirectionsResponse.route.leg.distance.value + "</distancevalue>" Resultado += "<distancetext>" + xmlGoogle.DirectionsResponse.route.leg.distance.text + "</distancetext>" Resultado += "<polyline>" + xmlGoogle.DirectionsResponse.route.overview_polyline.points + "</polyline>" Resultado += "<latitudeOrigem>" + xmlGoogle.DirectionsResponse.route.leg.start_location.lat + "</latitudeOrigem>" Resultado += "<longitudeOrigem>" + xmlGoogle.DirectionsResponse.route.leg.start_location.lng + "</longitudeOrigem>" Resultado += "<latitudeDestino>" + xmlGoogle.DirectionsResponse.route.leg.end_location.lat + "</latitudeDestino>" Resultado += "<longitudeDestino>" + xmlGoogle.DirectionsResponse.route.leg.end_location.lng + "</longitudeDestino>"
Contador is int = 1 FOR EACH legNode OF xmlGoogle.DirectionsResponse.route.leg IF legNode..Name = "step" THEN HTML is string = legNode.html_instructions Distancia is int = legNode.distance.value Resultado += "<instrucao id="+ Contador + ">" + HTML + " [" + Distancia + "]" + "</instrucao>" Contador++ END END
Resultado += "</NoXml></Resultado></Xml>"
Add(arrayResultadoLocal, Resultado)
RESULT(arrayResultadoLocal)
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 651 messages Popularité : +175 (223 votes) |
|
Posté le 17 juillet 2017 - 22:32 |
<Xml><Resultado><NoXml><enderecoOrigem>R. Clávio Molinari, 1029 - Capão da Imbuia, Curitiba - PR, 82810-210, Brasil</enderecoOrigem><enderecoDestino>Av. Victor Ferreira do Amaral, 100 - Tarumã, Curitiba - PR, 82810-350, Brasil</enderecoDestino><durationvalue>444</durationvalue><durationtext>7 minutos</durationtext><distancevalue>3509</distancevalue><distancetext>3,5 km</distancetext><polyline>zygzCjfjkHsFfPaEiBaEiB_EeBcEeBmC|HgA`DkLeF{DcBgCoAg@JOzCEfBc@lIaA~Re@pIi@dLIl@IxAUnFMlBm@fNc@hIIxBQxCCjAOnCIvA</polyline><latitudeOrigem>-25.4404606</latitudeOrigem><longitudeOrigem>-49.2095038</longitudeOrigem><latitudeDestino>-25.4283270</latitudeDestino><longitudeDestino>-49.2300018</longitudeDestino><instrucao id=1>Siga na direção <b>noroeste</b> na <b>R. Clávio Molinari</b> em direção à <b>R. João Ponciano Borges</b> [308]</instrucao><instrucao id=2>Vire à <b>direita</b> na 2ª rua transversal para <b>R. Pastor Manoel Virgínio de Souza</b> [479]</instrucao><instrucao id=3>Vire à <b>esquerda</b> na <b>Rua Professora Antonia Reginato Vianna</b> [269]</instrucao><instrucao id=4>Vire à <b>direita</b> na <b>R. Mal. José Agostinho dos Santos</b> [467]</instrucao><instrucao id=5>Vire à <b>esquerda</b> na <b>Av. Victor Ferreira do Amaral</b><div style="font-size:0.9em">O destino estará à direita</div> [1986]</instrucao></NoXml></Resultado></Xml>
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|