Google地图:地图不会扩展边界以查看所有标记

时间:2012-05-31 20:48:25

标签: javascript google-maps-api-3

我遇到了问题。我有一系列经销商的位置。它被称为locations。每组中的第一项是纬度,每组中的最后一项是经度。我正确地找回了包含所有位置的地图,除了它放大其中一个位置。它必须是有界限的东西,但我不确定是什么。有人可以帮忙吗?谢谢。

这是我的代码:

var map = new google.maps.Map(document.getElementById('map'), {
            mapTypeId: google.maps.MapTypeId.ROADMAP
        });

var marker, i;

if (locations.length > 1) { 
    var bounds = new google.maps.LatLngBounds();
    for (i = 0; i < locations.length; i++) {  
        marker = new google.maps.Marker({
        position: new google.maps.LatLng(locations[i][0], locations[i][1]),
                    map: map
                });
    }

    bounds.extend(marker.getPosition());              

    map.fitBounds(bounds);

2 个答案:

答案 0 :(得分:2)

我认为你想在for循环中使用bounds.extend。我看到它的方式,它只采取一个标记的位置。

答案 1 :(得分:0)

似乎你的代码得到了最后一个标记的位置,并对地图说出适合的标记。你可以用

做到这一点
bounds.extend(marker.getPosition());              

    map.fitBounds(bounds);

如果你想适合所有的标记,那就放

bounds.extend(m[i]);

在标记之后的for循环中。

类似的答案解释得更好:Google Maps v3 API Extend Bounds. Javascript How-To?