1

我在 jQueryMobile 框架上尝试了 gmaps4rails。

一页仅链接到 gmaps 页面。两页是 gmaps4rails 页面。

启用 jQueryMobile ajax 页面。从一页到两页不显示 gmap。但是两页直接访问是成功显示gmaps。

这是我的存储库。 https://github.com/y-hirasawa/sample-jqm-map

我想使用 ajax 页面,并显示 gmap。帮我。

4

1 回答 1

2
  • 您需要在布局中包含 googlemaps javascript 文件:
<script type="text/javascript" src="http://maps.google.com/maps/api/js?v=3.5&sensor=false&amp;libraries=geometry"></script>
<script type="text/javascript" src="http://google-maps-utility-library-v3.googlecode.com/svn/tags/infobox/1.1.5/src/infobox.js"></script>
<script type="text/javascript" src="http://google-maps-utility-library-v3.googlecode.com/svn/tags/markerclustererplus/2.0.1/src/markerclusterer.js"></script>
<script type="text/javascript" src="http://google-maps-utility-library-v3.googlecode.com/svn/trunk/richmarker/src/richmarker-compiled.js"></script>
  • 地图是通过window.onload回调创建的。由于页面已加载,因此失败。所以你必须在你的添加一个 jquery 移动回调application.js

$('#gmaps').live('pageshow',function(event){

  Gmaps.loadMaps(); 

});

  • 如果你想让它工作,你必须为包含谷歌地图的页面设置一个 id:
<div class="page" data-role="page" id="gmaps">
  • 最后,你必须防止脚本的双重加载,所以改变你对gmaps4rails助手的调用:

<%= gmaps4rails(@json, false, false) %>

于 2011-10-13T13:30:10.660 回答