Routencheck mit Autohotkey

Wer öfters die Strecke von zu Hause „irgend wo hin“ ermitteln muss, kann sich das Leben mit einem AutoHotkey-Skript massiv erleichtern.

Ich muss regelmäßig eine Fahrtroute ermitteln. Dafür verwende ich, wie wohl sehr viele andere ebenfalls, Google-Maps. Weil ich meistens von zu Hause aus losfahre, hat es mich irgendwann doch etwas genervt, jedesmal meine Heimatadresse eingeben zu müssen.

Image

Der erste Ansatz war die Definition von „zu Hause“ als expandierendes AutohotKey-Kürzel. Das war soweit ganz nett. Bis mir etwas später auffiel, dass ich typischerweise eine Adresse von einer Webseite kopiere, in Google-Maps die Routenplanung öffne und dort dann mein Kürzel sowie die Zwischenablage für die Streckensuche zu verwenden. Daher habe ich das automatisiert.

Dafür ist eine banale Vorarbeit erforderlich: Google-Maps Routenplanung öffnen und eine Route von „zu Hause“ nach (als Beispiel) „Berlin“ suchen lassen. Spannend ist nun die Adresszeile oben im Browser. Die sieht auf den ersten Blick ziemlich wüst aus. Bei genauerem Hinsehen lässt sich jedoch sehr leicht die eigene Adresse und das Ziel ausmachen. In unserem Beispiel lautet die Web-Adresse verallgemeinert so:

https://www.google.de/maps/dir/zu+Hause/Berlin ← → / …

Alles ab dem Schrägstrich nach „Berlin“ ist für das Skript unwichtig, für eine „allgemeine Funktion“ sogar hinderlich. Mit em Schnipsel bis Berlinkann der benötigte AutoHotkey-Script erstellt werden. Es wird lediglich Berlin mit . wo ersetzt (der Punkt ist wichtig!).

; WIN ALT M → Google Maps mit SELEKTIERTER Adresse öffnen

!#M::
  Backup := ClipboardAll
  Clipboard =
  Send, ^c
  ClipWait,10
  Wo := Clipboard
  Clipboard := Backup
  Wo := RegExReplace(Wo,"(\n|\s)+","+")
  ; Nur den Ort öffnen
  ;Wo := "https://www.google.de/maps/place/" . Wo
  ;Route ab zu Hause
  Wo := "https://www.google.de/maps/dir/zu+Hause/" . Wo
  Run, %Wo%
Return

Im Skript ist leicht erkennbar, wo der aus dem Browser kopierte und angepasste Schnipsel hin muss. Zusätzlich ist (auskommentiert) die Variante enthalten, mit der nur der Ort gezeigt wird.

Das Skript wird in die „autohotkey.ahk“ eingefügt oder via „#include“ hinzu geladen, damit es immer nutzbar ist. Mit dem (hier) eingerichteten Tastenkürzel Win+ALT+M wird es gestartet. Zuerst rettet es die aktuelle Zwischenablage und kopiert markierter Text hinein.

Es muss vor dem Skript-Aufruf die gewünschte Adresse markiert wurden sein. Die Adresse darf mehrzeilig sein. Beim Auswählen darauf achten, dass kein „Beifang“ markiert ist.

Die Adresse landet in der Variablen Wo. Die Zwischenablage wird wieder restauriert, war vorher etwas drin, bleibt das erhalten. Die gespeicherte Variable wird mit „RegEx“ bearbeitet, damit Leerzeichen und Zeilenvorschübe ersetzt werden.

Jetzt ist lediglich Voraussetzung, dass im System für „https:“ ein Protokoll eingerichtet ist, damit der Browser aufgeht. Den die für die Adress-Suche zusammengestellte Browser-Zeile wird einfach an das Betriebssystem übergeben. Bei den aktuelleren Windows-Versionen ist das (wenigstens) für einen Microsoft-Browser eingerichtet. Chrome & Co. biegen bei der Instalaltion das Protokoll meistens auf sich um, wenn sie zum Standard-Browser deklariert werden.

Jetzt kann nach dem „Adresse markieren“ direkt mit Win+ALT+M in Google-Maps die Route ab zu Hause aufgerufen werden.