我在显示MySql数据库中标记的映射方面遇到问题。
地图没有显示,但我可以看到地图开始初始化。上面没有任何标记。
我使用的是相同的映射,只显示了mysqldb中的一个lat/long
。它在没有标记的情况下工作得很好,但当我循环放置标记时,它只是不想显示标记。
我真的不想用xml表来使事情复杂化。我在v2地图中也使用了类似的代码,一切都很好。这是我的代码:
<script src="https://maps.googleapis.com/maps/api/js?v=3.11&sensor=false" type="text/javascript"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
(function (){
var map = new google.maps.Map(document.getElementById('map_canvas'), options);
php启动
while($apa = mysql_fetch_array($result))
{
$lat_map = $apa["lat"];
$lon_map = $apa["lon"];
$adr_apa = $apa["adresa"];
php结束
var options = {
zoom: 12,
center: new google.maps.LatLng(<?php echo $lat_map; ?>, <?php echo $lon_map; ?>),
mapTypeId: google.maps.MapTypeId.HYBRID,
mapTypeControl: false
};
var marker = new google.maps.Marker({
position: new google.maps.LatLng(<?php echo $lat_map; ?>, <?php echo $lon_map; ?>),
map: map,
title: 'Click Me'
});
google.maps.event.addListener(marker, 'click', function() {
infowindow = new google.maps.InfoWindow({
content: '<p><?php echo $adr_apa; ?></p>'
});
infowindow.open(map, marker);
});
<?php } ?>
})();
});
</script>
<?php
echo '
<body>
<div id="map_canvas" style="width: 800px; height: 420px"></div>
</body>
因为您声明标记和选项javascript变量的次数与元素的次数一样多:)这与谷歌地图无关,这与你的JS不正确有关,浏览器也无法解释它。将变量声明移动到while 之外
var marker, options;
<? php stuff ?>