When I try to show multiple markers from the database information, the map only shows the last of the markers returned with its infoWindow.
I read other post that talks about a clousure, but I can't resolve my problem.
This is the original code:
  <body>
    <?php
      include("conexion.php");
      $tipo = $_POST['type'];
    ?>
    <div class="container">
      <div class="row">
        <div class="col-md-12">
          <h1>Map</h1>
          <div id="map" style="width:100%;height:360px;"></div><br><br>
          <?php
            $con = mysqli_connect($host, $user, $pass, $db_name) or die("Error");
            $query = "select * from table where type_name='".$type."'";
            $result = mysqli_query($con,$query);
            $i=1;
            while ($data = mysqli_fetch_assoc($result)) {
          ?>
            <script type="text/javascript">
              var cat = new google.maps.LatLng(41.652393,1.691895);
              var mapOptions = {
                  center: cat,
                  zoom: 8,
                  mapTypeId: google.maps.MapTypeId.ROADMAP
                };
              map = new google.maps.Map(document.getElementById('map'), mapOptions);
              var marker<?php echo $i;?> = new google.maps.Marker({
                    position: new google.maps.LatLng(<?php echo $data['lat']; ?>, <?php echo $data['lng']; ?>),
                    map: map,
                    title: <?php echo "'".$data['name']."'"; ?>
              });
              var infowindow<?php echo $i;?> = new google.maps.InfoWindow({
                  content: "<h1><?php echo "".$data['name'].""; ?></h1><p><b>Addres</b><br> <?php echo "".$data['addres'].""; ?></p><p><b>Description</b><br><?php echo "".$data['description'].""; ?></p>"
              });
              google.maps.event.addListener(marker<?php echo $i;?>, 'click', function() {
                  infowindow<?php echo $i;?>.open(map,marker<?php echo $i;?>);
              });
            </script>
            <?php
                  $i++;
                }
              mysqli_close($con);
            ?>
        </div>
      </div>
    </div>
  </body>
nghngh
 
     
    