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

Posted

技术标签:

【中文标题】自动缩放和自动居中显示窗口中的所有标记【英文标题】:auto zoom and auto center to show all markers in window 【发布时间】:2013-07-30 03:51:06 【问题描述】:

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

     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));

【问题讨论】:

【参考方案1】:

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

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

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

查看此示例fiddle 进行演示。

【讨论】:

以上是关于自动缩放和自动居中显示窗口中的所有标记的主要内容,如果未能解决你的问题,请参考以下文章

qt中怎么让窗体中的控件随着窗体自动缩放

自动调整缩放以适应谷歌地图中的所有标记

在 Swift 4 中自动调整缩放以适应 iOS 中的所有标记

带有多个标记的谷歌地图自动中心

如何将图像居中和自动缩放?

在滚动视图中使用自动布局缩放图像如何居中?