2012-09-17 61 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

相关问题