我正在为GeoGuessr.com构建一个用户脚本(在浏览器中安装脚本以修改第三方页面)。它增加了一个按钮,允许将小猜测地图扩展到全屏。
虽然我对布局没有问题,但问题是Google Map没有调整大小:

该页面是用主干构建的,没有访问任何视图的API,更不用说内部Google对象了。
我试过了
$(window).trigger('resize');要触发窗口调整大小事件,因为我注意到当手动执行此操作时,映射将调整大小。然而什么都没有发生(Chrome 29)。
有没有办法强迫谷歌地图在我的用户脚本中调整大小?
发布于 2013-09-03 20:43:50
如果调整映射的div容器的大小,还必须调整映射对象本身的大小。如参考文献所述
当div更改大小:
google.maps.event.trigger(map, 'resize')时,开发人员应该在地图上触发此事件。
其中map是google.maps.Map对象的变量名。(我猜只有在全局命名空间中才能访问它)。
更新:
首先,要访问由Backbone.View.extends构建的属性,您需要访问类的prototype --在本例中是window.gg.guessMapView.prototype。接下来,我们需要指定视图将使用的el。因为这最初是由主干视图(应该是这样)生成的,所以您没有访问它的权限。有关更多信息,请参见此文章。我们要做的是将一个现有的html元素附加到它上,即#guessMapContainer元素。
window.gg.guessMapView.prototype.$el = $('#guessMapContainer')一旦指定了元素,您就需要重新初始化视图,以便它再次呈现映射。这可以用已经为视图实现的initialize()方法来完成。
window.gg.guessMapView.prototype.initialize()https://stackoverflow.com/questions/18598109
复制相似问题