0

I wrote the code below... this code is to select to long and lati already inserted in database and create a marker in the google map, I tried to put the selected data in a table, it worked fine, but once I put them on the map as marker, it show me only on marker, can anyone help please?

   <?php
   $conn = getConn();
   $sql ="select Latitude,Longtitude from location"; 
   $result=$conn->query($sql);

  while($row = mysqli_fetch_array($result)){
    $locations = array(
        $row['Latitude'],
        $row['Longtitude']
    );
    foreach ($locations as $loc){
        //  echo $loc . "</br>";
    $Latitude = $row['Latitude'];
    $Longtitude = $row['Longtitude'];
        echo $Latitude . "</br>" . $Longtitude;
    }
    }   
?>
<script>

    function initMap(){

        var location = {lat: <?=$Latitude?>, lng: <?=$Longtitude?>};
        var map= new google.maps.Map(document.getElementById("map"),{
            zoom: 13, 
            center: location});
            var marker = new google.maps.Marker({position:location, map:map});

    }

</script>

<script async defer src="https://maps.googleapis.com/maps/api/js?key=AIzaSyByZSFwCa5FByzySCLUPzLqzeWKt3RyNwA&callback=initMap">

</script>

1 Answers1

0

You'll need to create an instance of marker for every one you want to appear on the map. The location variable only holds the last one; you'll have to do something like:

var location = {lat: <?=$Latitude?>, lng: <?=$Longtitude?>};
var map = new google.maps.Map(document.getElementById("map"),{
        zoom: 13, 
        center: location});
for (let loc of <?=$locations?>) {
    new google.maps.Marker({position:loc, map:map});
}
Zach Jones
  • 46
  • 4