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
的全局变量。
现在,我希望通过此程序更改此地图的缩放级别。
如果不重新初始化地图,这样做的方法是什么?
或者是重新初始化必修课?
答案 0 :(得分:52)
使用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);
答案 1 :(得分:13)
除了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);
});