Несколько маркеров и информационных окон на Google Maps (с использованием MySQL)

Есть еще четыре оператора if, которые делают то же самое для других категорий.

<?php

if (isset($_POST['one'])) {
    $query = "SELECT * FROM beerstable WHERE category LIKE \"%Lager%\"";
    $result = mysql_query($query);
    if (!$result) {
        die('Invalid query: ' . mysql_error());
    }

    while ($row = mysql_fetch_assoc($result)) {
        $lat = $row['lat'];
        $lng = $row['lng'];
        $markername = $row['name'];
        $link = $row['link'];
        $photo = $row['photo'];
        ?>

            var infowindow = new google.maps.InfoWindow({
                content: '<h1><?php echo $markername ?></h1><br><img src="<?php echo $photo ?>" height="30" width="50"><br><a href="<?php echo $link ?>"><?php echo $link ?></a>'
            });
            icon = "yellow";
            icon = "http://maps.google.com/mapfiles/ms/icons/" + icon + ".png";

            var marker = new google.maps.Marker({
                title: '<?php echo $markername ?>',
                animation: google.maps.Animation.DROP,
                //animation: google.maps.Animation.BOUNCE,
                icon: new google.maps.MarkerImage(icon),
                position: new google.maps.LatLng( <? php echo $lat ?> , <? php echo $lng ?> )
            });

            marker.setMap(map);
            google.maps.event.addListener(marker, 'click', function () {
                infowindow.open(map, marker);
            });

        <?php
    }
}
?>

Он отображает маркеры, но когда я щелкаю маркер, он отображает информационное окно последнего созданного маркера.

Ответы на вопрос(1)

Ваш ответ на вопрос