闻心阁

一蓑烟雨看苍生,半壶浊酒笑红尘

google map 错误Cannot read property 'offsetWidth' of null

2013-04-20 约 1 分钟读完 搬砖秘籍

还是说说在写google map中标注雅安地震位置(js)demo时候遇到的问题,在解决了google map无法显示 google is not defined问题之后又遇到了这个Uncaught TypeError: Cannot read property 'offsetWidth' of null的问题,很是百思不得其解!

于是静下心来看代码,我是这样写的:

<script type="text/javascript">
var myLatlng=new google.maps.LatLng(30.3, 103.00);
var mapOptions = {
  center: myLatlng,
  zoom: 13,
  mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById(&quot;map_canvas&quot;),
	mapOptions);

var marker = new google.maps.Marker({
position: myLatlng,
title:&quot;雅安地震震源&quot;
});

//将标记显示在地图中
marker.setMap(map);

</script> <div id="map_canvas" style="width:500px; height:500px;"></div>

自习看看找到问题了,因为我js里面调用了map_canvas这个id,但是调用的时候map_canvas这个div还没有加载出来,所以出现了这么个纠结的问题。改正方法也也很简单,就是把map_canvas的那个div放到js的前面即可。

改正后的代码如下:

<div id="map_canvas" style="width:500px; height:500px;"></div>
<script type="text/javascript">
	
	var myLatlng=new google.maps.LatLng(30.3, 103.00);
	var mapOptions = {
	  center: myLatlng,
	  zoom: 13,
	  mapTypeId: google.maps.MapTypeId.ROADMAP
	};
	var map = new google.maps.Map(document.getElementById("map_canvas"),
		mapOptions);

	var marker = new google.maps.Marker({
	position: myLatlng,
	title:"雅安地震震源"
	});

	//将标记显示在地图中
	marker.setMap(map);
	
</script>
转载:http://malagis.com/google-map-errors-can-not-read-property-offsetwidth-of-null.html