2012-09-17 99 views
23
function displayMapAndClick() 
    { 
     var latlng = new google.maps.LatLng (29.0167, 77.3833); 
     var myOptions = 
     { 
      zoom:zm, 
      center:latlng, 
      mapTypeId:google.maps.MapTypeId.ROADMAP 
     }; 

     map = new google.maps.Map (document.getElementById ("map"), myOptions); 
     directionsDisplay.setMap (map); 
    } 

其中zm是設置爲默認7的全局變量。如何以編程方式更改Google地圖的縮放級別?

現在,我想改變這個地圖透徹此程序的縮放級別。

是什麼做的,如果沒有重新初始化地圖的方式嗎?

或被重新初始化強制?

回答

45

google.maps.Map類使用setZoom()方法。

var mapOptions = { 
    /* Initial zoom level */ 
    zoom: 8 
    ... 
}; 
map = new google.maps.Map(..., mapOptions); 
/* Change zoom level to 12 */ 
map.setZoom(12); 
10

我REP太低迴復..但亞歷山大sollution進一步的評論:我有同樣的問題,但上面並沒有在所有的瀏覽器,因爲有時map.setZoom爲我工作()在地圖加載完成之前執行。

結束語這樣的功能,使其始終工作:

... 
map = new google.maps.Map(..., mapOptions); 
/* Change zoom level to 12 */ 
google.maps.event.addListenerOnce(map, 'bounds_changed', function() { 
    map.setZoom(12); 
}); 
+0

包裹在一個事件監聽器@publicJorn解釋是爲我工作。謝謝 – CIRCLE

+0

@ publicJorn的解決方案也適用於我 - 謝謝! – lookdad

相關問題