2013-01-11 95 views
0

可能重複:
Resizing google map according to browser resizing使谷歌地圖響應調整

所以通常谷歌使用JS API是這樣的地圖......

enter image description here

現在,如果我要刷新頁面,使用開發人員工具,並且t母雞把開發工具放下來看起來就像這樣。

enter image description here

所以我想知道我怎麼才能得到它重繪的控制和調整地圖的大小時,窗口大小。我在這裏試過這段代碼。但是,沒有去...

#map_canvas {width:100%;height:100%;position: absolute; top: 42px; left: 0; right: 0; 
bottom:0; z-index: 1; overflow: hidden; } 

回答

2

設置當window.onresize事件發生在#map_canvas樣式屬性:

window.onresize = function(event) { 
    var style = document.getElementById('map_canvas').style; 
    style.width = '100%'; 
    style.height = '100%'; 
    style.position = 'absolute'; 
    style.top = '42px'; 
    style.left = '0'; 
    style.right = '0'; 
    style.bottom = '0'; 
    style.z-index = '0'; 
    style.overflow = 'hidden'; 
    google.maps.event.trigger(map, 'resize'); 
    map.setZoom(map.getZoom()); 
} 

這個jQuery當量考慮到頂部

window.onresize = function(event) { 
    var el = $("#map_canvas"); 
    el.css("position", "absolute"); 
    el.css("top", "42px"); 
    el.css("left", "0px"); 
    el.css("right", "0px"); 
    el.css("bottom", "0px"); 
    el.css("width", "100%"); 
    el.css("height", $("body").height() - 42); 
    el.css("overflow", "hidden"); 
    google.maps.event.trigger(Maps.map, 'resize'); 
    Maps.map.setZoom(Maps.map.getZoom()); 
} 
的42PX
+0

您幾乎可以肯定需要在地圖上觸發google.maps.Map調整大小事件。 – geocodezip

+0

補充,謝謝。 – ram1

+0

此外,它沒有考慮到頂部的酒吧。即使是42像素,它也不適合頁面。它會下移。但在其他方面完美 – FabianCook