Google Maps API v3 agrega varios marcadores con ventanas de información con texto personalizado

Estoy haciendo un sitio web sobre ciclistas asesinados en Noruega. Para mi proyecto he estado usando google maps api v3, pero tengo una vaga familiaridad con javascript. Puedes ver mi resultado hasta aquí:http://salamatstudios.com/googlemapstest/

Básicamente quiero tener múltiples marcadores con infowindows en cada uno. Cada uno de los infowindows contendrá: Nombre (edad), Ubicación, Fecha de fallecimiento, Leer más (que se vinculará a una página en el sitio web en sí).

Me gusta este ejemplo aquí:http://salamatstudios.com/bicycles/

Intenté trabajar con un solo marcador y en la ventana y funcionó bien. Cuando quiero agregar nuevos marcadores con ventanas de información personalizadas en cada uno, me quedo atascado. En este momento tengo 3 marcadores en diferentes ubicaciones como se ve en el primer enlace, pero no aparece ninguna de las ventanas de información cuando hago clic en el marcador.

¿Cómo lo rodeo para codificarlo para que aparezcan las infowindows? ¿Y cómo puedo tener texto personalizado en cada infowindow? Voy a tener alrededor de 30-40 marcadores en el mapa cuando esté listo. Todas las ventanas de información tendrán diferentes tipos de información.

function initialize() {
    var mapOptions = {
      center: new google.maps.LatLng(65.18303, 20.47852),
      zoom: 5,
      mapTypeId: google.maps.MapTypeId.ROADMAP,


      // MAP CONTROLS (START)
      mapTypeControl: true,

      panControl: true,
      panControlOptions: {
      position: google.maps.ControlPosition.TOP_RIGHT
      },

      zoomControl: true,
      zoomControlOptions: {
      style: google.maps.ZoomControlStyle.LARGE,
      position: google.maps.ControlPosition.LEFT_TOP
      },

      streetViewControl: true,
      streetViewControlOptions: {
      position: google.maps.ControlPosition.LEFT_TOP
      },
      // MAP CONTROLS (END)



    };
    var map = new google.maps.Map(document.getElementById("map"),
        mapOptions);


    // -------------- MARKER 1
    var marker1 = new google.maps.Marker({
    position: new google.maps.LatLng(59.96384, 11.04120),
    map: map,
    icon: 'img/bike5.png'
    });


    // MARKER 1'S INFO WINDOW
    var infowindow1 = new google.maps.InfoWindow({
    content: 'Name<br />Location<br />Date<br /><br /><a href="http://www.db.no" target="_blank">Read more(test link)</a>'
    });
    // End of infowindow code

    // Adding a click event to the marker
    google.maps.event.addListener(marker1, 'click', function() {
    // Calling the open method of the infoWindow
    infowindow1.open(map, marker);
    });
    // -------- END OF 1st MARKER


    // -------------- MARKER 2
    var marker2 = new google.maps.Marker({
    position: new google.maps.LatLng(60.63040, 8.56102),
    map: map,
    icon: 'img/bike5.png'
    });

    // MARKER 2'S INFO WINDOW
    var infowindow2 = new google.maps.InfoWindow({
    content: 'Name<br />Location<br />Date<br /><br /><a href="http://www.db.no" target="_blank">Read more(test link)</a>'
    });
    // End of infowindow code

    // Adding a click event to the marker
    google.maps.event.addListener(marker2, 'click', function() {
    // Calling the open method of the infoWindow
    infowindow2.open(map, marker);
    });
    // -------- END OF 2nd MARKER


    // -------------- MARKER 3
    var marker3 = new google.maps.Marker({
    position: new google.maps.LatLng(60.39126, 5.32205),
    map: map,
    icon: 'img/bike5.png'
    });

    // MARKER 3'S INFO WINDOW
    var infowindow3 = new google.maps.InfoWindow({
    content: 'Name<br />Location<br />Date<br /><br /><a href="http://www.db.no" target="_blank">Read more(test link)</a>'
    });
    // End of infowindow code

    // Adding a click event to the marker
    google.maps.event.addListener(marker3, 'click', function() {
    // Calling the open method of the infoWindow
    infowindow3.open(map, marker);
    });
    // -------- END OF 3rd MARKER


  }
  google.maps.event.addDomListener(window, 'load', initialize);

Sería genial si alguien pudiera darme una pista. He intentado buscar un poco, pero realmente no puedo encontrar mi respuesta. ¡Gracias por adelantado! :-)

Respuestas a la pregunta(3)

Su respuesta a la pregunta