function initialize() {
    var hh = new google.maps.LatLng(53.573683, 10.016718);
    var myOptions = {
      zoom: 18,
      center: hh,
      mapTypeId: google.maps.MapTypeId.HYBRID
    };
    var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
    var ctaLayer = new google.maps.KmlLayer('http://projekte.hinzundkunzt.de/map/20120602/kml/tddz.kml');
    ctaLayer.setMap(map);

    // hier stehen die eigentlichen Daten:
    var marker = [
	{
	    // Schwanenwik
		// https://maps.google.de/maps?q=schwanenwik+alsterwiese&ll=53.565293,10.016645&spn=0.004601,0.016469&hq=schwanenwik+alsterwiese&hnear=Hamburg&t=h&z=17
	    position: new google.maps.LatLng(53.564591, 10.016066),
	    title: 'Laufen gegen Rechts',
	    icon: 'people.png',
	    content: 'Auf der <b>Wiese am Schwanenwik</b> beginnt am Freitagabend das <b>Laufen gegen Rechts</b> vom FC St. Pauli.'
	},
	{
	    // Beginn der Gegendemo
	    position: new google.maps.LatLng(53.551040, 09.999372),
	    title: 'Startpunkt der Gegendemonstration',
	    icon: 'people.png',
	    content: 'Auf dem <b>Gerhart-Hauptmann-Platz</b> beginnt um 9.30 Uhr die Demo des <b>B&uuml;ndnis gegen Rechts</b>.'
	},
	{
	    // Treffpunkt Wandsbek 1
	    position: new google.maps.LatLng(53.572403, 10.070358),
	    title: 'Treffpunkt f&uuml;r Blockaden',
	    icon: 'people.png',
	    content: 'Am <b>ZOB Wandsbek beim Matthias-Claudius-Denkmal</b> hat das Hamburger B&uuml;ndnis gegen Rechts eine Kundgebung angemeldet. Von hier aus k&ouml;nnte es zu <b>Blockadeversuchen</b> der Nazi-Demo kommen.'
	},
	{
	    // Treffpunkt Wandsbek 2
	    position: new google.maps.LatLng(53.566730, 10.040330),
	    title: 'Treffpunkt f&uuml;r Blockaden',
	    icon: 'people.png',
	    content: 'An der Kreuzung <b>Eilbeker Weg/Wandsbecker Chaussee</b> hat das Hamburger B&uuml;ndnis gegen Rechts eine Kundgebung angemeldet. Von hier aus k&ouml;nnte es zu <b>Blockadeversuchen</b> der Nazi-Demo kommen.'
	},
	{
	    // Anfang und Ende Nazi-Demo
		// https://maps.google.de/maps?q=B%C3%A4renallee,+Hamburg&hl=de&ie=UTF8&ll=53.569087,10.062726&spn=0.0023,0.008234&sll=53.56672,10.054679&sspn=0.009761,0.032938&oq=b%C3%A4ren&t=h&hnear=B%C3%A4renallee,+22041+Hamburg&z=18
	    position: new google.maps.LatLng(53.568924, 10.061845),
	    title: 'Treffpunkt der Neonazis',
	    icon: 'people.png',
	    content: 'Die <b>Demonstration der Nazis</b> beginnt um 12 Uhr auf dieser Kreuzung. Hier d&uuml;rfen sie eine <b>Auftakt- und eine Abschlusskundgebung</b> abhalten. Auch das <b>B&uuml;ndnis gegen Rechts</b> hat hier nachtr&auml;glich eine Kundgebung angemeldet.'
	},
	{
	    // Buergi-Fest
	    position: new google.maps.LatLng(53.550595, 09.993247),
	    title: 'HH bekennt Farbe',
	    icon: 'people.png',
	    content: 'Ab 11 Uhr findet auf dem <b>Rathausmarkt</b> die Kundgebung des B&uuml;dnis <b>Hamburg bekennt Farbe</b> statt.'
	},
	{
	    // Fraktionssitzung
	    position: new google.maps.LatLng(53.555118, 09.988353),
	    title: 'Bahnhof Northeim',
	    icon: 'people.png',
	    content: 'Auf dem <b>G&auml;nsemarkt</b> wird die Linksfraktion ab 10 Uhr eine <b>&ouml;ffentliche Fraktionssitzung</b> abhalten und so den Platz blockieren. Kurz nach 11 Uhr wird hier auch die <b>Demo des B&uuml;ndnis gegen Rechts</b> enden.'
	}
    ];
    for(var i=0; i<marker.length; i++) {
	marker[i].marker = new google.maps.Marker({
	    position: marker[i].position,
	    title: marker[i].title,
	    icon: 'img/'+marker[i].icon, // ggf. anderes Icon einsetzen
	    map: map
	});
    }

    for(var i=0; i<marker.length; i++) {
	markerlistener(map, marker, i);
    }

    marker[0].infowindow.open(map, marker[0].marker); // öffnet das erste Info-Fensterchen
}

function markerlistener(map, marker, i) {
    var mynumber = i; // dies erzeugt eine closure, daher notwendig.
    marker[i].infowindow = new google.maps.InfoWindow({
	maxWidth: 200, // ggf. anpassen...
	content: '<div style="text-align:left; font-size:13px; margin:0; padding:0; line-height: 1.2em;">' + marker[i].content + '</div>', // ggf. style anpassen
    });
    google.maps.event.addListener(marker[i].marker, 'click', function() {
	for(var j=0; j<marker.length; j++) {
	    if(j != mynumber) marker[j].infowindow.close();
	}
	marker[mynumber].infowindow.open(map, marker[mynumber].marker);
    });
}
