GoogleMaps v3 - map不想从mysql db加载标记

时间:2016-01-10 18:05:04

标签: javascript php mysql google-maps markers

我在使用MySql数据库显示标记的地图时遇到问题。

地图未显示,但我可以看到地图开始初始化。它没有显示任何标记。

我使用相同的地图,只显示mysql数据库中的一个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>

1 个答案:

答案 0 :(得分:0)

因为你声明标记和选项javascript变量的次数与你拥有的元素一样多:) 它不是关于谷歌地图,它关于你的JS是不正确的,浏览器不解释它。 将变量声明移到while

之外
list = sort(key=lambda k:len(k), reverse = True)