Sicherheit & Internet:Internet:Web-Entwicklung

Teil 2: Google Maps kreativ nutzen

Animierte Karte

Die vorgestellte animierte Karte basiert allein auf der Maps-API. Sämtliche Daten befinden sich in unserem Beispiel aus Gründen der besseren Übersichtlichkeit im Script-Bereich. Die Karte soll sich entlang einer festgelegten Route bewegen.

Die Punkte der Route erscheinen als Ortsmarker auf der Karte und sind durch eine Linie miteinander verbunden. Sobald die Karte einen Punkt erreicht, wird in einem Infofenster ein Text angezeigt und die Animation kurz gestoppt.

Anschließend verschiebt sich die Karte weiter zum nächsten Punkt. Die Karte soll zusätzlich Bedienelemente zum Stoppen und Fortsetzen der Animation von jedem Marker aus bieten. Die Daten für die Route definieren Sie wie folgt:

var data = [
{ name: "Puttgarden, Fehmarn",
date: "7. Dezember",
lat:"54.5031", lng:"11.2292" }
];

Das Array ist zur Veranschaulichung gekürzt und enthält nur einen einzigen Eintrag. Die Bestandteile des Arrays bestehen aus Objekten, auf die über ein Label zugegriffen wird. Natürlich können Sie die Daten auch in einer XML-Datei speichern und dann mittels Ajax auslesen.

Mit name und date definieren Sie den Titel des Infofensters und den anzuzeigenden Text. Die Koordinaten, lat und lng, bezeichnen den Punkt, an dem auf der Karte ein Marker erscheinen soll. Die Variable data muss global sein, um sie von anderen Funktionen aus zu erreichen.

Karte laden

Um die Karte mit allen Elementen zu laden, ist eine längere Funktion notwendig. Hier die wichtigsten Anweisungen dazu:

function buildMap() {
map = new GMap2(document.
getElementById("mapdiv"));
map.setCenter(new GLatLng(54.5031,
11.2292), 8);
var icon = new GIcon();
icon.image = "blue-dot.png";
addIcon(icon);
for(var i = 0; i < data.length; i++)
{
points[i] = new GLatLng(parseFloat
(data[i].lat), parseFloat(data[i].lng));
gmarkers[i] = new GMarker(points[i],
icon);
var html ="<div class='infowindow'>"
+ "<strong>"+ data[i].name + "<\/strong><p>" + data[i].date + "<\/p><\/div>";
gmarkers[i].content = html;
gmarkers[i].nr = i;
addClickevent(gmarkers[i]);
map.addOverlay(gmarkers[i]);
}
var poly= new GPolyline(points,
"#003355", 3, .5);
map.addOverlay(poly);
gmarkers[0].openInfoWindowHtml
(gmarkers[0].content);
route = setTimeout("anim()", 3600);
}

Mehr zum Thema

HTML5: Quick Reference Guide
Ratgeber: "HTML5"

Die wichtigsten Tags auf einen Blick: In unserem praktischen Arbeitsblatt finden Sie einen wertvollen Begleiter für die Umstellung Ihrer Webprojekte…
internet, webdesign, google, content, ranking, seo, suchmaschine
Ratgeber: Urheberrecht

Einzigartige Inhalte bieten Lesern Mehrwert und sind ein wichtiges Qualitätsmerkmal. Ärgerlich, wenn sich jemand durch Kopieren an fremden…
Die besten HTML5-Tipps
Neue Tipps & Tricks für blitz.io

Wer die Leistung einer Applikation ermitteln möchte, braucht keine Skripte zu schreiben, sondern kann einen der zahlreichen Online-Dienste…
image.jpg
Ratgeber: Webentwicklung

Die clientseitige Javascript-Entwicklung bietet fast keine Entwicklungsumgebungen und auch keine vernünftigen Werkzeuge zur Fehlersuche. Eine der…
internet, webdesign, meteor, webapplikationen
Ratgeber

Mit Meteor sollen Entwickler in kurzer Zeit Umgebungen für Webapplikationen erstellen können, ohne sich um lästige Details kümmern zu müssen. Wir…