谷歌地图v3-地图没有';我不想从mysqldb加载标记


GoogleMaps v3 - map doesn't want to load markers from mysql db

我在显示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 ?>