在谷歌地图上插入多个标记

时间:2018-05-08 13:53:58

标签: javascript php

我写下面的代码...这段代码是选择长和lati已经插入数据库并在谷歌地图中创建一个标记,我试图将所选数据放在一个表中,它工作正常,但一次我把它们作为标记放在地图上,只显示标记,有人可以帮忙吗?

   <?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 个答案:

答案 0 :(得分:0)

您需要为要在地图上显示的每个人创建一个标记实例。 位置变量只保留最后一个;你必须做类似的事情:

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});
}