In der `getmap`-Anleitung ist in Abschnitt 5 sowohl für OpenStreetMap als auch für Google Maps beschrieben, wie man die *polylines* generiert. Solche Linienzüge können aus weit mehr Punkten als nur dem Startpunkt einer Route und deren Endpunkt bestehen. Damit können sie dann wirklich die Route wiedergeben statt nur die Luftlinie. Die Beispiele der Anleitung zeigen das auch:
![Route][1]<font size="-3">(Bild unmittelbar aus der `getmap`-Anleitung übernommen, Sourcecode dort).</font>
Die Route ist hier der blaue-violette Linienzug zwischen dem grünen und dem hellblauen Marker und zeigt, Marker, bei der es sich keineswegs um eine Luftlinie handelt, sondern die dem Verlauf des Weges folgt.
Bei OpenStreetMap kann man sich dazu beispielsweise über den [OpenRouteService](http://openrouteservice.org) – es gibt dazu aber auch Alternativen – eine Route als `gpx`-Datei exportieren. Diese kann man dann mit Hilfe des zum Paket gehörenden `getmapdl` in eine sogenannte *encoded polyline* umwandeln lassen. Das ist eine kompakte String-Codierung für die Koordinaten des zur Route gehörenden Linienzugs (engl. *polyline*). In obigem Beispiel würde der String `_xq_IcgrpA?AFE@?^BFE@A^U@CLQXEZU?gCR?B?DBF@@?vA?D?D?BAHE@JBN@JLGFCG[DC~C?@?F?R?vA?p@iB@i@Fe@JWRSTO
f@Gh@C^A?e@?gE?w@r@?lB@hA?‘@??M?aA?]dI??O?O?Cn@cBfBeF|AeEHNVNBc@H@H_AEwA?OAMNA@N` lauten. Diesen String schreibt man dann zusammen mit weiteren `path`-Optionen in eine Datei und gibt diese via Option `pathfile` in `\getmap` an. `\getmap` wiederum baut die Angabe dann in die URL für den Abruf der Grafik mit ein.
Bei Google Maps geht es ganz ähnlich. Dort verwendet man jedoch keine `gpx`-Datei, sondern eine `kml`-Datei. Diese ist beispielsweise über [My Maps](https://www.google.com/maps/d/splash?app=mp) erzeugbar. Die `kml`-Datei kann man ebenfalls mit `getmapdl` wieder in eine *encoded polyline* umwandeln. Ab hier geht es also genau wie bei OpenStreetMap.
Dass man den Pfad nicht direkt beim Aufruf von `\getmap` angibt, sondern den Weg über eine Pfaddatei geht, hat übrigens einen ganz einfachen Grund: Innerhalb der *encoded polyline* können Zeichen wie geschweifte schließende Klammern vorkommen, die bei der Interpretation als Wert für eine Option im optionalen Argument von `\getmap` Probleme bereiten würden. Durch den Umweg über eine externe Datei, werden diese Probleme umgangen.
Letztlich spielt es auch keine Rolle, ob man die Route als `gpx`-Datei oder als `kml`-Datei hat, da sowohl beim Weg über OpenStreetMap als auch beim Weg über Google Maps daraus zunächst eine *encoded polyline* erzeugt und dann diese verwendet wird. Das ist auch deshalb günstig, weil viele Navigationsprogramme sowohl online als auch auf dem Rechner oder Smartphone und viele GPS-Tracker eines der beiden Formate erzeugen können. Eine Rolle spielt derzeit allerdings die Anzahl der Punkte in den Linienzügen. Da die *encoded polyline* in der URL zum Abruf der Karte mit angegeben werden muss und URLs in der Länge beschränkt sind (derzeit max. 2048 Bytes), ist die Anzahl der Punkte, aus denen sich die Linienzüge zusammensetzen können, ebenfalls beschränkt. Das wird ggf. noch durch die Verwendung von vielen Markern, die ja ebenfalls in der URL angegeben werden, verschlechtert. Gerade bei Routen aus GPS-Trackern sollte man also ggf. mit einer passenden Software die Anzahl der Punkte zunächst reduzieren. Ggf. bietet das Paket seit Version 1.8 mit `gps2gps` auch selbst ein Programm, um die Anzahl der Punkte einer Route zu reduzieren.
Leider können die `gpx`- oder `kml`-Dateien derzeit auch nicht einfach über entsprechende Aufrufe von `\getmap` direkt erzeugt werden, sondern bedürfen gewisser Vorarbeiten. Teilweise könnte man mit Hilfe dieser oder ähnlicher Vorarbeiten auch bereits fertige Karten mit eingezeichneter Route erzeugen, so dass man dann `getmap` gar nicht mehr zwingend benötigen würde.
[1]: http://texwelt.de/wissen/upfiles/test1_6.png