谷歌地图多标记

时间:2016-06-16 21:38:31

标签: php google-maps google-maps-api-3

我有一个项目。我在项目中使用谷歌地图和PHP。当查询运行时,我从数据库中获取latlong值。我在查询中定义了限制1。稍后我在地图上用标记显示位置latlong值。我想用多标记显示限制5。如何在地图上显示所有标记?我的查询和查询结果如下。变量geom是一个条件,我的谷歌地图脚本在下面的某些部分。

Query:
SELECT lat, lng from mytable where $geom limit 5; 

Php code:
while ($row = pg_fetch_assoc($result)) {
 $lat=$row['lat'];
 $lng=$row['lng'];
 }

Google Map js:
 var myLatLng = {lat:<?php echo $lat;?>, lng:<?php echo $lng;?>};
 var map = new google.maps.Map(document.getElementById('map'), {
      zoom: 19,
      center: myLatLng
    });
    var marker = new google.maps.Marker({
      position: myLatLng,
      map: map,
      title: 'Hello World!'
    });

1 个答案:

答案 0 :(得分:1)

仅创建一次地图。将所有标记添加到该地图。

var map = new google.maps.Map(document.getElementById('map'));
var bounds = new google.maps.LatLngBounds();
while ($row = pg_fetch_assoc($result)) {
    $lat = $row['lat'];
    $lng = $row['lng'];

    var myLatLng = {lat:<?php echo $lat;?>, lng:<?php echo $lng;?>};
    bounds.extend(myLatLng);

    var marker = new google.maps.Marker({
        position: myLatLng,
        map: map,
        title: 'Hello World!'
    });
}
map.fitBounds(bounds); // center and zoom the map to show all the markers