I'm attempting to create a procedure which will return the distance between two points based on the Google Maps DistanceMatrix API. My initial code (VBA) looks like:
Public Function GoogleDistance(FromAddress As String, ToAddress As String) As String Dim strMyKey as string Dim sXMLURL As String Dim objXMLHTTP As MSXML2.ServerXMLHTTP On Error GoTo ProcError strMyKey = "aaaa" '<= this is not the actual key sXMLURL = "https://maps.googleapis.com/maps/api/distancematrix/xml?" _ & "origin=" & Replace(Replace(FromAddress, " ", " "), " ", "+") & "&" _ & "destination=" & Replace(Replace(ToAddress, " ", " "), " ", "+") & "&" _ & "key=" & strKey' & "sensor=False" & "&"Debug.Print sXMLURL Set objXMLHTTP = New MSXML2.ServerXMLHTTP With objXMLHTTP .Open "Get", sXMLURL, False .setRequestHeader "content-Type", "application/x-www-form-URLEncoded" .send End WithDebug.Print objXMLHTTP.responseTextProcExit: Exit FunctionProcError: Debug.Print Err.Number, Err.Description MsgBox Err.Number & vbCrLf & Err.Description Resume ProcExitEnd Function
I'm sure it is something simple in the formatting of the request string, maybe a comma, a space or something else. The data I'm testing it with generates the following string: