Rubrik: HTML/Internet/Netzwerk · Internet / Browser / IE | VB-Versionen: VB6 | 26.03.10 |
Koordinaten eines bestimmten Ortes ermitteln Diese Funktion ermittelt unter Zuhilfenahme von GoogleMaps die Koordinaten eines bestimmten Ortes. | ||
Autor: Dennis Hemken | Bewertung: | Views: 19.718 |
gadgets.hemken.org | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
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.
' Koordinaten eines Ortes ermitteln Public Function getCoordinatesCSV(ByVal strOrtPLZ As String, _ Optional strStrasse As String = "", _ Optional strLand As String = "Deutschland") As String Dim 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