Fahrtrichtungen mit Gmapper
Seit kurzem ist es mit der Google Maps API möglich Fahrtrichtungen (”Directions”) auf einer Karte auszugeben.
Hierbei wird zwischen 2 Punkten eine “weiche” Linie gezeichnet, die Strassen berücksichtigt.
Ausserdem ist es möglich die Distanz in Strassenkilometern auszugeben und auf eine Wegbeschreibung zuzugreifen.
Neu in Gmapper 1.0
Gmapper implementiert diese neue Funktionalität mit Version 1.0 grundlegend.
Mit der Methode directions ist es einfach möglich 2 Punkte festzulegen die dann mit einer Weglinie verbunden werden.
bool directions (string $start, string $end, [string $startmarker = "143.png"], [string $endmarker = "143.png"], [int $zoombounds = 0], [string $textbox = ""])
Beispiel
Hier eine Demo dieser Funktionalität: http://gmapper.ajax-info.de/demo/demodirections?start=Heilbronn&end=Rostock
Hier wird eine Linie zwischen Heilbronn und Rostock gezeichnet, sowie eine Wegliste ausgegeben.
Ausserdem wird der Kartenausschnitt so gewählt, dass die gesamte Strecke sichtbar ist (”zoom to bounds”).
Dies wird wie folgt umgesezt:
include("class.gmapper.php"); $key = ""; $karte = new gmap($key); <html xmlns:v="urn:schemas-microsoft-com:vml"> <head> $karte->headjs(); </head> <body onunload="GUnload()"> $karte->mapdiv('600', '600');
Zunächst erzeugen wir ein neues Kartenobjekt und führen die benötigte headjs Methode im Seitenkopf aus.
Diese erzeugt das benötigte JS im Seitenkopf.
Danach platzieren wir mit der Methode mapdiv die Karte
$karte->bodyjs(); $start = $_GET['start']; $end = $_GET['end']; $karte->map(6,'49.980067','10.8731',"normal",1,18,"large");
Nun erzeugen wir mit der Methode bodyjs das benötigte Javascript im Seitenbody.
Danach initialisieren wir unsere Variablen $start und $end , die wir aus der URL lesen ($_GET).
Schliesslich erzeugt die Methode map die eigentliche Kartendarstellung.
$karte->markstart(); $karte->directions("$start","$end","gruen.png","rot.png",1,"huhudiv"); $karte->markend(); echo "<div id = \"huhudiv\" style = \"height:150px;width:33%;overflow:scroll;\"></div>"; </body> </html>
Abschliessend beginnen wir mit der Methode markstart einen neuen Markerbereich.
Danach rufen wir wie Methode directions auf, und übergeben ihr unsere Variablen $start und $end als Start- und Endort.
Danach übergeben wir noch die Dateinamen der Start- und Endmarker. Mit der Zahl 1 aktivieren wir Zoom to Bounds.
Schliesslich übergeben wir noch die Element-ID des HTML Elements in dem die Wegliste ausgegeben werden soll.
Danach wird der Markerbereich mit der Methode markend abgeschlossen.
Fertig
Das hier besprochene Beispiel findet sich auch als demodirections.php im Gmapper Archiv.
Links
Kommentar schreiben
Sie müssen eingeloggt sein um einen Kommentar zu verfassen.