Tipp vom 26.03.2010
Mit Hilfe nachfolgender Funktion lassen sich die Koordinaten eines bestimmten Ortes anhand einer Postleitzahl, oder eines Ortsnamen und optional einer Strasse bestimmen.
Der Aufruf der Google Maps URL, in der Funktion getCoordinatesCSV, mit dem Attribut &output=csv enthält lediglich die Koordinaten des zu bestimmenden Ortes.
Code:
‘ Koordinaten eines Ortes ermitteln
Public Function getCoordinatesCSV(ByVal strOrtPLZ As String, _
Optional strStrasse As String = “”, _
Optional strLand As String = “Deutschland”) As StringDim IEApp As Object
Dim IEDocument As Object
Dim strArr As Variant
Dim strCoordinates As String
Dim nTime As Single
Dim bTimeOut As Boolean
‘ IE-Instanz erstellen
Set IEApp = CreateObject(“InternetExplorer.Application”)
With IEApp
‘ IE-Fenster unsichtbar lassen
.Visible = False
‘ URL aufrufen
‘ Google-Maps im CSV Format
.Navigate “http://maps.google.com/maps/geo?q=” & strOrtPLZ & “%20″ & _
strStrasse & “%20″ & strLand & “&output=csv”
‘ Warten, bis Seite geladen
nTime = Timer
Do
DoEvents
Loop Until .Busy = False Or Timer - nTime > 15
bTimeOut = (Timer - nTime > 15)
If Not bTimeOut Then
nTime = Timer
Do
DoEvents
Loop Until .Busy = False Or Timer - nTime > 15
bTimeOut = (Timer - nTime > 15)
End If
If Not bTimeOut Then
‘ IE-Dokument
Set IEDocument = .Document
End If
End With
If Not bTimeOut Then
Do
DoEvents
Loop Until IEDocument.readyState <> 4
‘ Inhalt des Webseiten-Dokuments auslesen und in Zeilen aufplitten
strArr = Split(IEDocument.Body.innerText, “,”)
‘ strArr(2) ist die Breite
‘ strArr(3) ist die Länge
strCoordinates = strArr(3) & “,” & strArr(2)
End If
IEApp.Quit
‘ Objekte zerstören
Set IEDocument = Nothing
Set IEApp = Nothing
‘ Rückgabewert (Koordinaten)
getCoordinatesCSV = strCoordinates
End Function
|
Beispiel Aufruf mit der Impressum-Adresse von vb@rchiv:
strCoordinates = getCoordinatesCSV(“97708″, “Maria-Stern-Str. 20″)
MsgBox strCoordinates
|
Sie können hier bei vbarchiv.net für mich voten!
Tags: Google API, Google Maps, Microsoft Visual Studio, VB 6.0, Visual Basic
Keine Kommentare »