1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
| Sub test()
ces points de départ m'on été donné par Google avec l'adresse" 34 boulevard de la roseraie a toulon " dans mon model trajet
getAddress "43.120337,5.969046", True
End Sub
Function getAddress(points, Optional multi As Boolean = False)
Dim REQ As Object, url As String, json As String, sc As Object, o
Set REQ = CreateObject("MSXML2.XMLHttp")
REQ.Open "GET", "http://maps.googleapis.com/maps/api/geocode/json?latlng=" & points, False
REQ.setRequestHeader "DNT", "1"
On Error Resume Next
REQ.send
On Error GoTo 0
If REQ.Status = 200 Then
Set sc = CreateObject("MSScriptControl.ScriptControl")
sc.Language = "JScript"
json = REQ.responseText
sc.Eval "var obj=(" & json & ")"
sc.AddCode "function getAddressResult(){return obj.results.length;}"
sc.AddCode "function getAddress(i){return obj.results[i];}"
'Debug.Print sc.Run("getAddressResult")
On Error GoTo suite
Set o = sc.Run("getAddress", 0)
Debug.Print o.formatted_address
'Debug.Print json
If multi = True Then
tabltlg = Split(json, "lat"" :")
For i = 1 To UBound(tabltlg)
Point = Replace(Split(tabltlg(i), "}")(0), " ", "")
Point = Replace(Replace(Point, """lng"":", ""), Chr(10), "")
tabltlg(i) = Point
Next
rempile tabltlg
End If
suite:
Err.Clear
End If
End Function
Sub rempile(tableau)
For i = 1 To UBound(tableau)
getAddress tableau(i), False
Next
End Sub |
Partager