【问题标题】:Google Maps instance dissapearing in JQuery Mobile applicationGoogle Maps 实例在 JQuery Mobile 应用程序中消失
【发布时间】: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


【解决方案1】:

我强烈建议您考虑使用这个 jQuery 插件来简化 JQM 与 Google 地图的集成:

http://code.google.com/p/jquery-ui-map/

它为我解决了许多问题,例如地图持久性。

【讨论】:

  • 不幸的是,使用 jquery-ui-map 并没有解决我的问题。 :-(
  • 我可以通过添加 rel="external" 作为链接到包含地图的视图的 url 的标签来解决问题。我提到它不需要使用 jquery-ui-map 就可以很好地工作。感谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-07-16
  • 2012-04-04
  • 2015-07-06
  • 1970-01-01
  • 2014-12-31
  • 2013-05-14
  • 1970-01-01
相关资源
最近更新 更多