如何以编程方式更改Google地图的缩放级别?

Aqu*_*irl 28 javascript google-maps google-maps-api-3

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); 
    }
Run Code Online (Sandbox Code Playgroud)

zm 全局变量设置为默认值在哪里7.

现在,我希望通过此程序更改此地图的缩放级别.

如果不重新初始化地图,这样做的方法是什么?

或者是重新初始化必修课?

Ale*_*der 55

使用该类中的setZoom()方法google.maps.Map.

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


pub*_*orn 13

我的REP太低而无法回复..但是对Alexanders的解决方案的进一步评论:我有同样的问题,但上述在所有浏览器中都不适合我,因为有时map.setZoom()在地图完成之前执行加载.

包装这样的功能将使它始终工作:

...
map = new google.maps.Map(..., mapOptions);
/* Change zoom level to 12  */
google.maps.event.addListenerOnce(map, 'bounds_changed', function() {
  map.setZoom(12);
});
Run Code Online (Sandbox Code Playgroud)