2010-09-11 223 views
3

我一直在谷歌地圖API v.3的問題。谷歌地圖不顯示

我有我的畫布聲明如下

<div id="map_canvas" style="width: 
50%; height: 50%; margin-left: auto; 
margin-right: auto"> 

,並在我的JavaScript函數

var myOptions = { 
    zoom: 8, 
    center: myLatlng, 
    mapTypeId: google.maps.MapTypeId.ROADMAP 
} 

var mydiv=document.getElementById("map_canvas"); 
var map = new google.maps.Map(mydiv , myOptions); 

一切工作正常。

然而,當我把地圖中的表單內像

<form id="_frm" runat="server"> 
    <table> 
     . 
     . 
     . 
    </table> 
    <div id="map_canvas" style="width: 50%; height: 50%; margin-left: auto; margin-right: auto"> 
    </div> 
    <table> 
     . 
     . 
     .   
    </table> 
    </form> 

地圖上沒有顯示,而不會產生JS錯誤。 我改變了我的谷歌地圖的路徑

var mydiv=document.forms[0].getElementsByTagName("div")[2]; 

,並增加了警示語句來查看ID。所以現在我有

var myOptions = { 
    zoom: 8, 
    center: myLatlng, 
    mapTypeId: google.maps.MapTypeId.ROAD  
} 

var mydiv=document.forms[0].getElementsByTagName("div")[2]; 
alert(mydiv.id); 
var map = new google.maps.Map(mydiv , myOptions); 

同時警告語句顯示map_canvas地圖上仍然不會顯示。

任何幫助嗎?

回答

4

嘗試指定明確的尺寸爲您的地圖格:

<div id="map_canvas" style="width:200px; height: 200px; margin-left: auto; 
    margin-right: auto"> 

這可能只是你的div得0像素高度/ 0像素寬,這就是爲什麼它沒有顯示出來。