我有一个项目。我在项目中使用谷歌地图和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!'
});
答案 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