谷歌地图V3缩放以显示所有标记不起作用

4

我正在使用Google Maps V3 API,在地图上创建了多个标记后,我很难使地图缩放以显示所有标记。目前下面的代码仅显示标记而不调整缩放级别。你能找到其中的错误吗?谢谢!

<script type="text/javascript">
    function initialize() {
        var latlng = new google.maps.LatLng(1.289566,103.847267);
        var options = {  
            zoom: 15,  
            center: latlng,  
            mapTypeId: google.maps.MapTypeId.ROADMAP,
            scrollwheel: false
        }; 

        var map = new google.maps.Map(document.getElementById('map_canvas'), options);  
        var marker = new google.maps.Marker({  
            position: new google.maps.LatLng(1.289566,103.847267),
            map: map,
            icon: "http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=1|ff776b"
        }); 

        var marker = new google.maps.Marker({  
            position: new google.maps.LatLng(1.301224,103.912949),
            map: map,
            icon: "http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=2|ff776b"
        }); 

        var marker = new google.maps.Marker({  
            position: new google.maps.LatLng(1.293150,103.827164),
            map: map,
            icon: "http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=3|ff776b"
        }); 

        var LatLngList = array (
        new google.maps.LatLng(1.289566,103.847267),
        new google.maps.LatLng(1.301224,103.912949),
        new google.maps.LatLng(1.293150,103.827164)
        );

        var bounds = new google.maps.LatLngBounds();

        for (var i = 0, LtLgLen = LatLngList.length; i < LtLgLen; i++) {
            bounds.extend(LatLngList[i]);
        }

        map.fitBounds(bounds);

    }
</script>
2个回答

5

This:

var LatLngList = array (
        new google.maps.LatLng(1.289566,103.847267),
        new google.maps.LatLng(1.301224,103.912949),
        new google.maps.LatLng(1.293150,103.827164)
        );

这不是在JavaScript中创建数组的方法。相反,建议您尝试以下方式:

var LatLngList = [
    new google.maps.LatLng(1.289566,103.847267),
    new google.maps.LatLng(1.301224,103.912949),
    new google.maps.LatLng(1.293150,103.827164)
    ];

3

你在定义LatLngList时有错误。正确的代码应该是:

var LatLngList = new Array();

注意:

var LatLngList = array();

也许OP是一名PHP程序员,不是吗? - Salman A

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接