32
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 设置为 default 7

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

没有重新初始化地图的方法是什么,或者重新初始化地图是强制性的?

4

2 回答 2

66

使用类中的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);
于 2012-09-17T11:44:17.850 回答
16

除了 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);
});
于 2013-04-03T10:51:20.977 回答