Calculando distância entre CEP usando Excel e Google Maps
Olá pessoal,
Estamos aqui para mais uma postagem, hoje queremos ensinar vocês a como utilizar o Google MAPs para calcular a distância entre dois endereços. O vídeo acima ensina em detalhes como fazer isso, mas você precisará das linguagem abaixo, não esqueça.
Grande abraço e até a próxima!
'---------------------------------------------------------------------------------------------
Function G_DISTANCIA(Origem As String, Destino As String)
' Faça referencia a Microsoft XML, v6.0
Dim myRequest As XMLHTTP60 Dim myDomDoc As DOMDocument60 Dim distanceNode As IXMLDOMNode
G_DISTANCIA = 0
On Error GoTo exitRoute
Origem = Replace(Origem, " ", "%20")
Destino = Replace(Destino, " ", "%20")
Set myRequest = New XMLHTTP60 myRequest.Open "GET", "http://maps.googleapis.com/maps/api/directions/xml?origin=" _ & Origem & "&destination=" & Destino & "&sensor=false", False myRequest.send
Set myDomDoc = New DOMDocument60 myDomDoc.LoadXML myRequest.responseText
Set distanceNode = myDomDoc.SelectSingleNode("//leg/distance/value") If Not distanceNode Is Nothing Then G_DISTANCIA = (distanceNode.Text / 1000) & " KM"
exitRoute:
Set distanceNode = Nothing Set myDomDoc = Nothing Set myRequest = Nothing
End Function
'-----------------------------------------------------------------------------------------------
Function G_duracao(Origem As String, Destino As String) As Double
' Faça referencia a Microsoft XML, v6.0
Dim myRequest As XMLHTTP60 Dim myDomDoc As DOMDocument60 Dim distanceNode As IXMLDOMNode
G_duracao = 0
On Error GoTo exitRoute
Origem = Replace(Origem, " ", "%20") Destino = Replace(Destino, " ", "%20")
Set myRequest = New XMLHTTP60 myRequest.Open "GET", "http://maps.googleapis.com/maps/api/directions/xml?origin=" _ & Origem & "&destination=" & Destino & "&sensor=false", False myRequest.send
Set myDomDoc = New DOMDocument60 myDomDoc.LoadXML myRequest.responseText
Set distanceNode = myDomDoc.SelectSingleNode("//leg/duration/value") If Not distanceNode Is Nothing Then G_duracao = distanceNode.Text / 86400
exitRoute:
Set distanceNode = Nothing Set myDomDoc = Nothing Set myRequest = Nothing
End Function