【发布时间】:2011-05-02 18:08:55
【问题描述】:
我正在使用 JQuery mobile 构建 Rails 3 应用程序,我遇到了一个主要问题。 在我的应用程序中,我有很多视图,并且在每个视图中我都显示了一张 Google Maps 地图。
现在,问题来了:当我第一次进入其中一个视图时,地图渲染得很好。但是,如果我进入另一个视图,地图就不会再出现了。一切看起来都很好(javascript代码已执行,我没有任何错误)。
如果我刷新当前页面,地图会重新出现。你知道我可以做些什么来解决这个问题吗?
非常感谢!
【问题讨论】:
-
您的地图是如何渲染的?你使用javascript API吗?或者你只是在地图上放置一个嵌入式 iframe?
-
每次转换到页面时是否都会加载地图?
-
我的地图在 div 内的每个视图中呈现。我使用谷歌地图 v3。
-
初始化地图的 javascript 代码每次都会运行(我会在每个视图加载时弹出一些警报,并且每次都有效)。问题是地图只是第一次在视图中呈现。如果我将继续使用包含地图的另一个视图,则不会渲染地图。如果我回到第一次渲染地图的链接,地图就在那里。
-
目前唯一的解决方案是使用 rel="external" 或 data-ajax="false",但这不是最好的解决方案,因为它会产生其他类型的错误(与本主题无关)。
标签: google-maps jquery-mobile ruby-on-rails-3