Open Source im professionellen Einsatz

Mash-up für Karten

Bei [6] findet sich die Anleitung für das Mash-up, Abbildung 5 zeigt den dafür notwendigen Code. Um das API zu nutzen, sollte man sich eine eigene Application-ID abholen, mit der pro IP-Adresse 50000 Zugriffe pro Tag erlaubt sind. Als Einschränkung ist jede Live-GPS-Navigation verboten, die Daten müssen mindestens sechs Stunden alt sein.

Der Javascript-Code ist zusammen mit einigen HTML-Tags in der Datei »map.tmpl« abgelegt. Listing 4 liest sie ein, interpretiert sie mit dem Template Toolkit vom CPAN und ersetzt die in »[%...%]« versteckten Konstrukte. Das Template Toolkit enthält eine einfache Skriptsprache, die bewusst beschränkte Kontrollmöglichkeiten bietet, um so zu verhindern, dass zu viel Programmlogik in die Darstellungsschicht wandert.

Außerdem ist der Zugriff auf Variablen genial einfach: Hashes, Arrays und Referenzen schert es alle über einen Kamm. Das magische Zeichen ist der Punkt. Um zum Beispiel das erste Element des Array zu referenzieren, auf den die Referenz » zeigt, und dann den zum Schlüssel »lat« gehörenden Wert des so hervorgeholten Hash zu extrahieren, genügt bereits die Template-Toolkit-Notation »points.0.lat«. Perl würde stattdessen »->[0]->{lat}« erfordern.

Tour im Satellitenfoto

Die Ausgabe von Listing »map« einfach in eine HTML-Datei umleiten und dann in den Browser laden - schon steht in einem 800 mal 600 großen Fenster eine Karte, die sich verschieben (Panning), Vergrößern/Verkleinern und von der Landkartendarstellung in den Satellitenmodus schalten lässt. Auch einen hybriden Modus gibt es, der das Satellitenbild mit einigen Informationen aus der Landkarte unterlegt. Abbildung 7 zeigt das zunächst erscheinende Browserbild, die ausgewählten Wegpunkte erscheinen als kleine orangene Sprechblasen, von 1 bis 19 durchnummeriert. Für Deutschland stehen bei Yahoo noch nicht so viele Landkarten wie für die USA bereit, aber zumindest die Satellitenbilder sind (in geringerer Auflösung) verfügbar.

Der in Abbildung 5 gezeigte Code präsentiert nur die einfachsten Gimmicks des Yahoo-API. Zusätzlich lassen sich zum Beispiel leicht aufklappende Sprechblasen mit Bildern und allerlei Schnickschnack hinzufügen oder eintreffende Events wie Mausklicks oder Ziehbewegungen abfangen, dann mit Javascript bearbeiten und anschließend eventuell mit Hilfe einiger Ajax-Tricks zu einem Server zurücksenden. (jcb)

Infos

[1] Listings zu diesem Artikel: [ftp://www.linux-magazin.de/pub/listings/magazin/2006/07/Perl]

[2] Rich Gibson, Schuyler Erle, "Google Maps Hacks": O\'Reilly 2006

[3] Anleitung/Versand für selbst gebastelte Garmin-Stecker: [http://pfranc.com]

[4] GPS-Formatkonvertierer: [http://www.gpsbabel.org]

[5] Michael Schilli, "Datenfischer": [http://www.linux-magazin.de/Artikel/ausgabe/2005/08/perl/perl.html]

[6] Yahoo! Maps Web Services - AJAX API Getting Started Guide: [http://developer.yahoo.com/maps/ajax/]

[7] Garmin: [http://www.garmin.de/index.php]

Der Autor


Michael Schilli arbeitet als Software-Engineer bei Yahoo! in Sunnyvale, Kalifornien. Er hat "Goto Perl 5" (deutsch) und "Perl Power" (englisch) für Addison-Wesley geschrieben und ist unter [mschilli@perlmeister.com] zu erreichen. Seine Homepage ist: [http://perlmeister.com]

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 4,5 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Als digitales Abo

Als PDF im Abo bestellen

comments powered by Disqus

Ausgabe 07/2013

Preis € 6,40

Insecurity Bulletin

Insecurity Bulletin

Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...

Linux-Magazin auf Facebook