Google Maps v3 - 在父容器调整大小时调整大小

时间:2015-04-06 16:10:44

标签: google-maps google-maps-api-3

我可以通过以下方式调整窗口更改:

//on window resize
google.maps.event.addDomListener(window, "resize", function() {
     var center = map.getCenter();
     google.maps.event.trigger(map, "resize");
     map.setCenter(center); 
});

,但是当窗口没有改变并且只有map容器的宽度/高度时,如何调整大小?在这里,我的网站的侧边栏菜单可以打开/关闭......当发生这种情况时,地图容器会改变宽度。

这似乎没有做任何事情,也不确定原因。也许是在改变之后才得到地图中心?

//on sidebar open/close
$('body').on('click', '.sidebar-toggler', function (e) {
     var center = map.getCenter();
     google.maps.event.trigger(map, "resize");
     map.setCenter(center); 
});

更多信息:

如果我使用超时,那么这就像我预期的那样工作。事情是我的侧边栏上没有任何动画打开/关闭所以这只是在实际调用之前需要打开/关闭的问题吗?

//redraw if sidebar open/close
$('body').on('click', '.sidebar-toggler', function (e) {            
    setTimeout(function() {
        var center = map.getCenter();
        google.maps.event.trigger(map, "resize");
        map.setCenter(center);
    }, 100);
});

0 个答案:

没有答案