3 回答

TA貢獻1859條經(jīng)驗 獲得超6個贊
問題在于百分比大小。您沒有定義父div的大?。ㄐ碌膁iv),因此瀏覽器無法將大小報告給Google Maps API。給包裝器div指定一個特定的大小,或者如果可以確定其父對象的大小,則給一個百分比大小將起作用。
請參閱Mike Williams的Google Maps API v2教程中的以下說明:
如果嘗試在地圖div上使用style =“ width:100%; height:100%”,則會得到高度為零的地圖div。這是因為div試圖占的大小的百分比<body>,但是默認情況下div的<body>高度是不確定的。
有多種方法可以確定屏幕的高度,并將該像素數(shù)用作地圖div的高度,但是一個簡單的替代方法是更改<body>,使其高度為頁面的100%。我們可以通過將style =“ height:100%”應用于<body>和來實現(xiàn)<html>。(我們必須對兩者都這樣做,否則 <body>嘗試將其設置為文檔高度的100%,并且默認值是不確定的高度。)
將100%的大小添加到HTML和CSS中的正文中
html, body, #map-canvas {
margin: 0;
padding: 0;
height: 100%;
width: 100%;
}
內(nèi)聯(lián)添加到?jīng)]有id的所有div中:
<body>
<div style="height:100%; width: 100%;">
<div id="map-canvas"></div>
</div>
</body>

TA貢獻1890條經(jīng)驗 獲得超9個贊
您是否嘗試過設置額外div的高度和寬度,我知道在我正在使用JS進行的項目中,除非已經(jīng)設置了高度和寬度,否則不會在div中放置任何內(nèi)容。
我使用了您的代碼,并對高度和寬度進行了硬編碼,但對我來說卻顯示出來了,沒有它就不會顯示出來。
<body>
<div style="height:500px; width:500px;"> <!-- ommiting the height and width will not show the map -->
<div id="map-canvas"></div>
</div>
</body>
我建議您對其進行硬編碼或為div分配一個ID,然后將其添加到您的CSS文件中。
添加回答
舉報