单击Ember上的“返回”按钮后,Google地图调整大小不起作用

时间:2014-10-02 17:42:00

标签: google-maps-api-3 ember.js

使用“返回”按钮导航回使用Fusion Table图层的Google地图页面时,我在Ember应用中遇到了一些问题。在新页面加载时,它的外观如下:

On fresh page load

点击其中一个图钉并进入另一个视图后,当我点击后退按钮时,会发生以下情况:

After clicking back

灰条的大小和位置各不相同。

我已尝试执行google.maps.event.trigger(map, 'resize')并致电map.setZoom(map.getZoom())无效。我确保容器也有宽度/高度。

为了清楚起见,这是一个Ember应用程序,因此单击后退按钮不是整页重新加载,而只是Ember交换控制器/视图。我希望只需要在这样的转换时触发调整大小,但调整大小似乎还不够,即使直接从控制台调用。

还有一件事,其他转换到页面(例如通过点击触发link-totransitionTo到地图的其他元素)可以正常工作。仅当使用“后退”按钮发生转换时,地图才会出现错误。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我只记得我实际上设法修复了#34;这个问题,但从来没有找到答案。

在我的案例中发生的事情是我正在使用的代码试图通过在removed视图loaded中将地图画布附加到body标记来优化渲染时间。 {1}},然后只要willDestroyElement中的视图再次{{3}},就会将其移回视图。显然谷歌地图没有。所以我最终分配了代码并进行了更新,以便丢弃地图并在显示视图时创建一个新实例。