2013-07-30 60 views
0

我正在使用谷歌地圖顯示使用標記的位置。我傳遞一組位置來初始化()。我想設置自動縮放和自動中心來映射,以便所有標記都可見。地圖應該採用縮放值,以便可以一次看到所有標記。 。這是我的代碼:自動縮放和自動中心顯示窗口中的所有標記

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

回答

2

從您的問題,它似乎你使用多個標記,你想設置縮放級別。

如果是這樣我的建議是看看fitBounds()

fitBounds()方法調整地圖的視口,以便在地圖的中心,以查看在充滿 傳遞的LatLngBounds。

查看此示例fiddle進行演示。