我正在实例化Google Map对象,如下所示:
this.map = new google.maps.Map(this.el, {
center: new google.maps.LatLng(this.lat, this.lng),
mapTypeId: google.maps.MapTypeId.ROADMAP,
zoom: this.zoom
});
其中this.el
是通过document.createElement('div')
创建但尚未插入DOM的对象。当我稍后将this.el
附加到DOM时,我得到一个看起来像这样的地图(注意所有奇怪的灰色空间):
http://cl.ly/3B3z1e3g2h1U301r0X1R
我没有这个问题,但是,如果我首先将this.el
附加到DOM然后实例化地图对象。有没有办法创建地图然后追加它?这将极大地简化我的一些地图代码(我在Backbone.js视图中使用它。)
感谢。
-Scott
答案 0 :(得分:3)
将this.el附加到DOM后,您必须调用google.maps.event.trigger(this.map,'resize');