DISTÂNCIA ENTRE DOIS CEPS

LUCIANODASILVA 06/10/2025 14:23:16
#505093
Boa tarde!
estou tentando achar a distancia entre o dois cep's mas não tem jeito de fazer retornar a distancia como o google mostra entre rota
o google da até estimativa de tempo, porém nem a distancia consigo... Mas em linha reta entre Latitude e longitude, até consigo porém da muita diferença
alguém poderia me ajudar no código a baixo ou se tiver um código em funcionamento, ficaria muito grato.


  Private Sub cmdCalcular_Click()
Dim http As Object
Dim url As String
Dim resposta As String
Dim distancia As String

' Cria objeto HTTP
Set http = CreateObject("MSXML2.XMLHTTP")

' Monta a URL da API Google Distance Matrix
url = "https://maps.googleapis.com/maps/api/distancematrix/json?" & _
"origins=" & txtCEPLoja.text & _
"&destinations=" & txtCepCliente.text & _
"&units=metric&key=SUA_API_KEY"

' Faz a requisição
http.Open "GET", url, False
http.Send
resposta = http.responseText

' Chama função para extrair a distância do JSON
distancia = ExtrairDistancia(resposta)

' Mostra no Label
lblDistancia.Caption = "Distância: " & distancia
End Sub

' ======================================
' Função simples para extrair distância do JSON retornado
' ======================================
Private Function ExtrairDistancia(json As String) As String
Dim posInicio As Long, posFim As Long
Dim resultado As String

' Procura pela primeira ocorrência de "text":"... km"
posInicio = InStr(json, """text"" : """)
If posInicio > 0 Then
posInicio = posInicio + Len("""text"" : """)
posFim = InStr(posInicio, json, """")
If posFim > posInicio Then
resultado = Mid(json, posInicio, posFim - posInicio)
End If
End If

ExtrairDistancia = resultado

End Function
3SLUIS 06/10/2025 15:02:07
#505095
uso assim para pegar a distancia entre dois pontos.

  Solicitacao.Open "GET", "https://maps.googleapis.com/maps/api/directions/xml?origin=" _
& Origem.txt & "&destination=" & Destino.txt & "&sensor=false" & "&units=imperial" & "&key=" & chave_api, False
Faça seu login para responder