自动缩放和自动居中显示窗口中的所有标记

auto zoom and auto center to show all markers in window

本文关键字:显示 缩放 窗口      更新时间:2023-09-26

我使用谷歌地图来显示使用标记的位置。我正在传递一个要初始化()的位置数组。我想设置自动缩放和自动居中以进行映射,使所有标记都可见。地图应采用缩放值,以便一次可以看到所有标记。这是我的代码:

     function initialize(arr) { 
      var myOptions = {
        zoom:13,
        center: arr[0],
        mapTypeId: google.maps.MapTypeId.ROADMAP
      };
      map = new google.maps.Map(document.getElementById("map-canvas"), myOptions);
      route = new google.maps.Polyline({
            path: arr,
            map:map
          });
              i=0;
              interval = setInterval(function() { 
                if(i<=arr.length)
                    {
                     marker = new google.maps.Marker({
                        position: arr[i],
                        map: map 
                      });
                     i++;
                    }//if
                else if(i>arr.length){
              window.clearInterval(interval);   
                }//else if
              },1000);//interval
}  //initialize

我有下面的代码,但没有得到如何和在哪里使用它。

         var latlngbounds = new google.maps.LatLngBounds();
            for (var i = 0; i < latlng.length; i++) {
                latlngbounds.extend(latlng[i]);
            }
            map.setCenter(latlngbounds.getCenter(), map.getBoundsZoomLevel(latlngbounds));

从您的问题来看,您似乎使用了多个标记,并且希望设置缩放级别。

如果是这样,我的建议是查看fitBounds()

fitBounds() 方法调整贴图的视口以查看在地图中心完整地通过了LatLngBounds。

查看此示例fiddle进行演示。