Nig*_*olf 4 google-maps google-maps-api-3 jsfiddle backbone.js marionette
我正在尝试通过创建视图并将其插入到DOM中来显示地图,并且它第一次正常工作,但在后续的视图调用中失败,显示灰色的空白区域.
这是问题的JSFiddle:http: //jsfiddle.net/dyuvH/14/
当您单击"单击以加载地图"链接时,一切正常,但如果再次执行此操作,则会失败.
我正在使用以下内容将地图加载到视图中:
onRender: function() {
var mapOptions = {
center: new google.maps.LatLng(-34.397, 150.644),
zoom: 8,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var mapView = new App.MapView();
var map = new google.maps.Map(mapView.el, mapOptions);
mapView.render();
this.ui.mapContainer.html(mapView.el);
}
Run Code Online (Sandbox Code Playgroud)
同样,一切都在第一次完美运行,第二次失败.我认为这个观点正在坚持地图的某些方面,反之亦然.在这两种情况下,我都使用"新"键盘创建地图和视图的新实例,所以我不确定是什么搞砸了.
任何帮助表示赞赏.
小智 5
对mapView.render()的调用不是必需的,可以删除或注释掉.这至少会使地图在后续点击时呈现.
您还需要补偿GMaps API v3中的问题1448.此代码中的某些内容应该可以解决后续渲染中的偏离中心的地图:
google.maps.event.addListener(map, "idle", function(){
map.setCenter(mapOptions.center);
google.maps.event.trigger(map, 'resize');
});
Run Code Online (Sandbox Code Playgroud)
作为参考,更新的jsFiddle与上述建议.
| 归档时间: |
|
| 查看次数: |
2138 次 |
| 最近记录: |