2009-07-29 20 views
3

我試圖做到這一點在許多不同的方式,但最明顯的是這樣的:如何讓谷歌地圖使用其父容器的100%?

var map2 = new GMap2(document.getElementById("map2"), {size:"100%"}); 

這是行不通的。

+0

這應該會自動發生。可能還有其他的干擾。你可以發佈一些代碼或鏈接?順便說一句,你使用的「size」元素需要是一個GSize,它是這樣創建的:var size = new GSize(500,400); – 2009-07-29 14:33:56

+0

這也是我的期望。下面的解決方案通過對div的內聯風格解決了我的問題。使用GSize不起作用,因爲它不會佔用一定比例。謝謝。 – Artilheiro 2009-07-29 16:09:44

回答

9

Google says

除非你明確指定大小,使用GMapOptions在構造函數中的地圖,地圖隱式使用容器的大小尺寸本身。

所以設置你的地圖容器的尺寸填補所有可用空間:

<div id="map2" style="width: 100%; height: 100%"></div> 
+1

你不需要添加寬度CSS屬性。因爲「div」自然是塊級元素,所以它會填充到父級的寬度:) 雖然很好的答案! – Alex 2009-07-29 03:11:32

0

如何動態地計算尺寸的它的父容器,並明確了谷歌地圖元素設置呢?假設100%/ 100%身高無法解決問題。

0

只需指定寬度:100%;身高:100%是不夠的,我...

但我得到了它使用了以下機身代碼工作:

<body onload="initialize()" style="margin:0px; padding:0px;"> 

並使用下面的地圖代碼:

<div id="map" style="width: 100%; height: 100%; position: relative; background-color: rgb(229, 227, 223); overflow: hidden;"></div> 

看到http://arve.epfl.ch/test/

/肖恩

0
<div class="some-pannel"> 
    <div class="map-wrapper"> 
     <div id="googleMap" style="width:100%;height:100%;"></div> 
    </div> 
</div> 

.some-pannel{ 
    position: relative; 
    width: 123px; 
    height 321px; 
} 
.map-wrapper{ 
    position: absolute; 
    top: 0; 
    left: 0; 
    width: 100%; 
    height: 100%; 
} 
結果3210