Jquery 不断调整谷歌地图的大小

Jquery 不断调整谷歌地图的大小,jquery,google-maps-api-3,resize,height,Jquery,Google Maps Api 3,Resize,Height,我使用的是谷歌地图Api v3。我使用以下JQuery设置map div的高度: $(document).ready(function() { var wHeight = $(document).height(); var mapHeight = wHeight - 120; $("#map_canvas").css('height' , mapHeight); }); 我在顶部有一个顶条div,这就是为什么我减去120像素并设置地图画布高度。 这在页面加载时效果很好,但

我使用的是谷歌地图Api v3。我使用以下JQuery设置map div的高度:

$(document).ready(function() {
   var wHeight = $(document).height();
   var mapHeight = wHeight - 120;
   $("#map_canvas").css('height' , mapHeight);
  });
我在顶部有一个顶条div,这就是为什么我减去120像素并设置地图画布高度。 这在页面加载时效果很好,但是当我调整浏览器的大小时,我无法让地图调整大小,它保持不变

我知道API中存在调整大小事件:

  google.maps.event.trigger(map, "resize");
我只是不知道如何将这一行与上面的JQuery结合起来工作


谢谢。

使用
。调整大小

$(window).resize(function() {
  var wHeight = $(document).height();
  var mapHeight = wHeight - 120;
  $("#map_canvas").css('height' , mapHeight);
});

我认为您可以通过以下CSS解决您的问题:

#map_canvas { position: absolute; top: 120px; left: 0; right: 0; bottom:0; z-index: 1; overflow: hidden; }

谢谢这对我不起作用。我也失去了我的初始高度。当我尝试输出带有警报(mapHeight)的mapHeight变量来检查值时,什么也没有发生。它不应该是
$(窗口)。height()
而不是
文档
?再次感谢Trott。我假设我必须在CSS中使用一些javascript,以使地图的高度达到100%-120px。只需隐藏溢出就可以了,只是它会切断位于地图底部的谷歌徽标和控件。