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

还是说说在写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("map_canvas"),
        mapOptions);

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

    //将标记显示在地图中
    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