2012-03-17 54 views
1

我正在開發基本上設置爲具有三行的表的頁面。首行是標題,中間行是頁面的主要部分,最下面一行是導航。導航行中的每個按鈕都會觸發一個javascript函數,該函數使用中間行的innerHTML值並放置必要的html以顯示頁面的內容。 在主網頁我有:無法獲取屬性'offsetWidth'的值:對象爲空或未定義錯誤

<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?key=MY_KEY&sensor=false"></script> 

在頭部分,我有:

var myOptions = {center: new google.maps.LatLng(-34.397, 150.644), zoom: 8, mapTypeId: google.maps.MapTypeId.ROADMAP }; 

在車身部分,因此它運行的時候了,然後在由地圖調用的函數巴頓我:

var mapString; 
var w = document.getElementById("mainwindow"); 
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); 
mapString = '<table width="1024" cellpadding="0" cellspacing="0"><tr>'; 
mapString += '<td> <div id="map_canvas" width="1024" height="350"></div></td>'; 
mapString += '</tr></table>'; 
w.innerHTML = mapString; 

現在,當我按地圖按鈕我得到的錯誤:

Unable to get value of the property 'offsetWidth': object is null or undefined 
main.js Line 29 
Code 0 char:1385 
URI: http://maps.gstatic.com/intl/en_us/mapfiles/api-2/3/2/main.js 

不知道這個錯誤試圖告訴我什麼。任何幫助將不勝感激。

回答

8

做的時候谷歌地圖嘗試加載地圖到該分區的

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

最後因爲map_canvas格不存在。

應該這樣寫

var mapString; 
var w = document.getElementById("mainwindow"); 
mapString = '<table width="1024" cellpadding="0" cellspacing="0"><tr>'; 
mapString += '<td> <div id="map_canvas" width="1024" height="350"></div></td>'; 
mapString += '</tr></table>'; 
w.innerHTML = mapString; 

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

謝謝你的提示!我在GWT/SmartGWT應用程序中遇到與Google地圖相同的問題。 – 2012-07-13 20:31:37

相關問題