无法获取属性'的值;offsetWidth':对象为null或未定义错误

Unable to get value of the property 'offsetWidth' : object is null or undefined error

本文关键字:null 错误 未定义 对象 的值 获取 属性 offsetWidth      更新时间:2023-09-26

我正在开发一个页面,它基本上被设置为一个有三行的表。最上面一行是页眉,中间一行是页面的主要部分,最下面一行是导航。导航行中的每个按钮都会触发一个javascript函数,该函数使用中间行的innerHTML值,并放置必要的html来显示页面的内容。在主页上我有:

<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 };

在主体部分,使其立即运行,然后在MAP按钮调用的函数中,我有:

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

不知道这个错误是想告诉我什么。如果有任何帮助,我们将不胜感激。

执行

   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);