Je crois que l'API Google vous permet d'obtenir des coordonnées pour une adresse donnée. Cependant, la plupart (ou devrais-je dire tout) des exemples que j'ai trouvés ne sont pas pour vb. Habituellement, c'est un exemple javascript qui me laisse confus.Code pour obtenir les coordonnées GPS de l'adresse (VB6/VBA/VBScript)
Voici un code qui utilise un service de géocodage. Cela fonctionne très bien. C'est juste que je veux interroger Google Maps directement moi-même.
Public Function fgGetLatAndLongUsingAddress(sAddress As String) As String
'This function works best with a complete address including the zip code
Dim sResponseText As String, sReturn As String
sReturn = "none"
Dim objHttp As Object, sQuery As String
sQuery = "http://rpc.geocoder.us/service/csv?address=" & Replace(sAddress, " ", "+")
Set objHttp = CreateObject("Msxml2.ServerXMLHTTP")
objHttp.Open "GET", sQuery, False
objHttp.send
sResponseText = objHttp.ResponseText
gsLastLatLongResponseText = sResponseText
Set objHttp = Nothing
If Len(sResponseText) > 0 Then
If InStr(sResponseText, "Bad Request") > 0 Then
'Do Nothing
ElseIf InStr(sResponseText, "couldn't find this address") > 0 Then
'Do Nothing
Else
If InStr(sResponseText, vbCrLf) > 0 Then
'We got more than one result
End If
If InStr(sResponseText, ",") > 0 Then
Dim aryInfo() As String
aryInfo = Split(sResponseText, ",")
sReturn = aryInfo(0) & "," & aryInfo(1)
End If
End If
End If
fgGetLatAndLongUsingAddress = sReturn
End Function
+1 pour raison technique, -1 pour violation potentielle du service de géocodage de Google [termes et conditions] (https://developers.google.com/maps/documentation/geocoding/). Citation: * L'API de géocodage ne peut être utilisée qu'avec une carte Google; géocodage des résultats sans les afficher sur une carte [Google] est interdite. * – MarkJ