谷歌地图:地图不扩展边界以查看所有标记

GoogleMaps: map not extending bounds to view all markers

本文关键字:地图 扩展 边界 谷歌地图      更新时间:2023-09-26

我遇到了问题。 我有一系列经销商的位置。 它被称为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);

我认为您希望在 for 循环中bounds.extend。在我看来,它只占据了一个标记的位置。

似乎在您的代码中,您可以获得最后一个标记的位置,并对地图说适合该位置。你这样做与

bounds.extend(marker.getPosition());              
    map.fitBounds(bounds);

如果你想适合所有的标记,那么把

bounds.extend(m[i]);

在标记之后的 for 循环中。

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