嘿伙计们,我正在尝试将多个标记和infowindows添加到地图中 这是代码:
while($wiersz=mysql_fetch_array($result)){
$latit=$wiersz["Latitude"];
$longit=$wiersz["Longitude"];
$nick=$wiersz["Username"];
?>
var lt = '<?php echo $latit ?>';
var lng = '<?php echo $longit ?>';
var nick = '<?php echo $nick ?>';
var coords2 = new google.maps.LatLng(lt, lng);
var marker = new google.maps.Marker({
position: coords2,
map: map,
});
var infowindow = new google.maps.InfoWindow({
content:nick
});
google.maps.event.addListener(marker, 'click', function() {
infowindow.open(map,marker);
});
<?php } ?>
它会创建标记,但是当我尝试使用infowindow时,只会弹出最后一个。 我尝试制作数组信息窗口,因为我看到了类似的问题,但地图甚至没有加载。
答案 0 :(得分:1)
将您的代码更改为
var marker = new Array();
var infowindow = new Array();
<?php $i = -1;
while($wiersz=mysql_fetch_array($result)){
$latit=$wiersz["Latitude"];
$longit=$wiersz["Longitude"];
$nick=$wiersz["Username"];
$i++;
?>
var lt = '<?php echo $latit ?>';
var lng = '<?php echo $longit ?>';
var nick = '<?php echo $nick ?>';
var coords2 = new google.maps.LatLng(lt, lng);
marker[<?php echo $i; ?>] = new google.maps.Marker({
position: coords2,
map: map,
});
infowindow[<?php echo $i; ?>] = new google.maps.InfoWindow({
content:nick
});
google.maps.event.addListener(marker[<?php echo $i; ?>], 'click', function() {
infowindow[<?php echo $i; ?>].open(map,this);
});
<?php } ?>