Aufruf von Google Maps

Aufruf von Google Maps direkt aus Access

In diesem Beitrag wird gezeigt, wie Sie über VBA direkt Google Maps im Browser aufrufen mit Anzeige einer Routenplanung von Startadresse zu Zieladresse.

 

Der Video-Screenshot zeigt einen Ausschnitt aus der Anwendung. Auf dem Formular werden Aufträge verwaltet.
Relevant ist hier nur, dass es eine Adresse gibt, zu der der Kunde dann mit dem Auto hinfahren möchte.
Aufgabe ist also, Google Maps so aufzurufen, dass die Route von der Standortadresse des Kunden (also des Benutzers) zur Zieladresse angezeigt wird.

Auf dem Formular wird die Distanz und Fahrzeit schon angegeben. Diese Daten werden über die Google API bestimmt, was in einem späteren Beitrag erläutert wird.

Für unser Testbeispiel sei jetzt mal der Anwender in der Erika-Mann-Str. 33 in 80636 München beiheimatet. Und er will zum Auftragsort Walter-Gropius-Straße 5, 80807 München (Wir fahren also von Google München zu Microsoft München :-).

Syntax des Google Maps Aufrufs

Wenn man das erst mal in Google Maps eingibt, sieht man, dass der Aufruf in etwa so aussehen muss:

https://www.google.de/maps/dir/Erika-Mann-Straße+33,+80636+München/Walter-Gropius-Straße+5,+80807+München

Bei Google schließt sich zwar noch ein schier endlos langer Teil an, der in etwa so beginnt:

/@48.1605145,11.5317405,13z/data=!3m1!4b1!4m13!4m12!1m5!1m1!1............

aber wenn man den Teil wegnimmt, dann sieht man, dass der Aufruf immer noch funktioniert.
Auch mit ß und Umlauten in der URL scheint Google Maps keine Schwierigkeiten zu haben.

Wir müssen es also nur schaffen, einen Browser mit dieser URL aufzurufen.

Funktion zum Aufruf

Die folgende Funktion, in die Start- und Zieladress-Bestandteile übergeben werden müssen, erzeugt die notwendige Syntax und verwendet die Funktion FolowHyperlink des Application-Objekts zum Aufruf des Browsers mit der URL.

Private Sub CallGoogleMaps(Start_Strasse As Variant, Start_PLZ As Variant, Start_Ort As Variant, _
                           Ziel_Strasse As Variant, Ziel_PLZ As Variant, Ziel_Ort As Variant)
Dim strURL As String

  strURL = "https://www.google.de/maps/dir/" & Start_Strasse & ",+" & Start_PLZ & "+" & Start_Ort & "/" & _
                                               Ziel_Strasse & ",+" & Ziel_PLZ & "+" & Ziel_Ort
 
  Application.FollowHyperlink strURL

End Sub

Der Code hinter dem Button zum Aufruf der Google-Seite lautet dann etwa:
(SchadenOrt_Strasse, SchadenOrt_PLZ, SchadenOrt_Ort heißen die Textboxen (und auch Tabellenfelder) auf dem Formular, die die Zieladress-Bestandteile enthalten)

Private Sub cmdCallGoogle_Click()
 
 CallGoogleMaps "Erika-Mann-Strasse 33", "80636", "Muenchen", SchadenOrt_Strasse, SchadenOrt_PLZ, SchadenOrt_Ort
 
End Sub

Das Ganze funktioniert auch nur mit Teilen der Adresse, also zb. nur mit dem Ort oder der Postleitzahl!
Die entsprechenden Textboxen können dann leer bleiben, in die Prozedur CallGoogleMaps wird dann NULL übergeben.

 

Aufruf von Google Maps
Markiert in:    

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.