Info-Fenster
Marker alleine sind auf einer Google Map sind so informativ wie Stecknadeln in einer normalen Karte - gar nicht. Sie bezeichnen einen Ort, aber nicht was dort ist.
Per Google Maps API ist es relativ einfach weitere Informationen in einer Sprechblase zu jedem Marker anzuzeigen.
Dazu benützigen wir eine zusätzliche Funktion, die darauf achtet, ob ein Marker angeklickt wurde, um dann die Sprechblase zu öffnen:
function createMarker(point) {
var marker = new GMarker(point);
GEvent.addListener(marker, "click", function() {
marker.openInfoWindowHtml("<strong>Hello World</strong>");
});
return marker;
}
Wie man sieht, wird der Funktion ein Punkt übergeben. Aus diesem Punkt wird dann ein Marker erzeugt.
Als nächstes achtet ein sogenannter Event-Listener darauf, ob geklickt wurde. Erfolgt der Klick auf den Marker, startet der Listener eine unbenannte integrierte Funktion, die den Marker um das Info-Fenster erweitert. Dem Fenster kann beliebiges HTML übergeben werden.
Im Zusammenhang mit dem restlichen Skript sieht das dann so aus:
function createMarker(point) {
var marker = new GMarker(point);
GEvent.addListener(marker, "click", function() {
marker.openInfoWindowHtml("<strong>Hello World</strong>");
});
return marker;
}
function load() {
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("map"));
map.addControl(new GLargeMapControl());
map.setCenter(new GLatLng(54.33686989052731,10.119942426681519), 16);
map.addOverlay(createMarker(new GLatLng(54.33686989052731,10.119942426681519)))
}
}
Wie man sieht, ist die letzte Zeile im Gegensatz zum normalen Marker-Aufruf in sofern abgeändert, dass die Zusatzfunktion aufgerufen wird.