Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Deison Gomes

Alteração do Código Km-Distance

Recommended Posts

Bom Dia

 

Estou com o seguinte problema.

Estou montando um BD onde eu preciso calcular a distancia entre cidades de Origem e Destino.

Eu encontrei um código que faz este tipo de procedimento buscando as informações do Google Maps, porém o código foi desenvolvido para Excel e não para Access.

Então eu gostaria de saber se tem como alterar este código para que funcione em Access.

Function Km_Distancia(Origin As String, Destination As String) As Double
    'Requer referência ao: 'Microsoft XML, v6.0'

    Dim Solicitacao As XMLHTTP60
    Dim Doc As DOMDocument60
    Dim Distancia_Pontos As IXMLDOMNode

    Let Km_Distancia = 0

    'Checa e limpa as entradas
    On Error GoTo Sair

    Let Origin = Replace(Origin, " ", "%20")
    Let Destination = Replace(Destination, " ", "%20")

    ' Le os dados XML da API do Google Maps.
    Set Solicitacao = New XMLHTTP60

    Solicitacao.Open "GET", "http://maps.googleapis.com/maps/api/directions/xml?origin=" _
        & Origin & "&destination=" & Destination & "&sensor=false", False
    Solicitacao.send

    ' Tornando o XML legível por usar o XPath
    Set Doc = New DOMDocument60

    Doc.LoadXML Solicitacao.responseText

    ' Obtendo o valor da distância entre os nós.
    Set Distancia_Pontos = Doc.SelectSingleNode("//leg/distance/value")
    If Not Distancia_Pontos Is Nothing Then Km_Distancia = Distancia_Pontos.Text / 1000

Sair:
    ' Tidy up
    Set Distancia_Pontos = Nothing
    Set Doc = Nothing
    Set Solicitacao = Nothing
End Function
Tenham um bom dia.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.