Google Maps API - Koordinaten mit VB ermitteln
Nachdem relativ viele nach Code-Beispielen suchen, um Geo-Koordinaten von Google-Maps via Visual Basic (VB) zu ermitteln, habe ich hier einen Auszug angehängt, wie man dies über einen WebRequest machen kann:
Imports System.Console
Imports System.IO
Imports System.Net
Module Module1
Sub Main()
Dim sURL As String = "Maximilianstr. 4;86150 Augsburg, Deutschland"
Dim sKey As String = "!euer_API_Key!"
Dim sBuffer As String sURL = "http://maps.google.com/maps/geo?q="
& System.Web.HttpUtility.UrlEncode(sURL)
& "&output=csv&key=" & sKey
Dim oRequest As WebRequest = WebRequest.Create(sURL)
oRequest.Method = "GET"
Dim oResponse As WebResponse = oRequest.GetResponse()
Dim oStream As New StreamReader(oResponse.GetResponseStream())
sBuffer = oStream.ReadToEnd()
WriteLine(sBuffer)
oStream.Close()
oResponse.Close()
ReadLine()
End Sub
End Module
Einfach die Adresse und den Key durch seinen eigenen Google Maps API-Key ersetzen.
Als Ergebniss bekommt man dann z.B.:
200,8,48.368435,10.898304
Die letzten beiden Zahlen sind die Koordinaten. Die beiden anderen geben den Statuscode an. Nachzulesen unter der Google Maps API Dokumentation.
Das ganze läßt sich natürlich erweitern, indem man z.B. eine CSV-Datei einliest und diese in einer Schleife abarbeitet.
Eine Beispiel-Anwedndung habe ich unter diesem Artikel beschrieben.
Bitte beachten:
Was ich jetzt nicht weiß ist, inwieweit die Koordinaten-Ermittlung auf diese Weise von Google Maps überhaupt erlaubt ist. Bei einem Test mit ca. 1000 Adressen wurde ich auf jeden Fall geblockt. Irgendwan kam als Response etwas in der Art: “Es wird scheinbar versucht maschinell Daten abzufragen. Die IP wurde vorübergehend geblockt.” Nach einer Weile ging es dann wieder.
Eine kleine Zeitverzögerung per Zufallsgenerator hat aber auch dieses Problem behoben ;-)




Hi,
ich wollte einfach mal sagen Cool was Sie hier ins Netzt gestellt haben, ich möchte so etwas auch bei mir in der Firma einbauen, doch habe mich die ganze zeit echt doof gesucht.
Ich wollte einfach mal Danke sagen für das Beispiel und den Coode den Sie bereit gestellt haben.
und ich weis auch warum sie nach 1000 Adressen geblockt wurden Sie haben nur ein Bestimmtes Limit von Google wiviele Adressen am Tag Berechnet werden Dürfen :-).
Gruß Mück