Google Maps Javascript V3 Uncaught TypeError:无法读取null的属性’offsetWidth’
首先,为另一个这样的问题道歉,但我似乎无法找到现有问题与我之间的相似之处,所以我走了
我的index.html如下:
BackMap
所以这是div中包含地图的index.html的一部分。 所以下一节是上面的’编译和调用’
============= EDITED ==============
var EmployeeView = function(employee){ function initMap(){ var latlng = new google.maps.LatLng(-34.397, 150.644); var myOptions = { zoom: 8, center: latlng, mapTypeId: google.maps.MapTypeId.ROADMAP }; var map = new google.maps.Map(document.getElementById("map_canvas"),myOptions); }; this.render = function(){ this.el.html(EmployeeView.template(employee)); return this; }; this.initialize = function(){ this.el=$(''); }; this.initialize(); google.maps.event.addDomListener(window, "load", initMap); } EmployeeView.template = Handlebars.compile($("#employee-tpl").html());
所以用上面的逻辑,不知怎的,我仍然得到以下错误:(
Uncaught TypeError: Cannot read property 'offsetWidth' of null
有人可以开导我吗?
您需要在窗口加载时添加一个侦听器,因为您似乎在渲染之前尝试访问该地图,并且您获得了null
消息。
将初始化包装到函数中并将其称为:
google.maps.event.addDomListener(window, 'load', initMap);
function initMap () { var latlng = new google.maps.LatLng(-34.397, 150.644); var myOptions = { zoom: 8, center: latlng, mapTypeId: google.maps.MapTypeId.ROADMAP }; var map = new google.maps.Map(document.getElementById('map_canvas'), myOptions); }