jQueryMobile上的gmaps4rails不起作用

时间:2011-10-12 03:46:03

标签: ruby-on-rails ruby ruby-on-rails-3 google-maps gmaps4rails

我在jQueryMobile Framework上尝试了gmaps4rails。

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

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

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

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

1 个答案:

答案 0 :(得分: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回调创建地图。由于页面已加载,因此失败。因此,您必须在application.js
  • 中添加jquery移动回调
  

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

  Gmaps.loadMaps(); 
     

});

  • 如果您希望这样做,则必须为包含Google地图的页面设置ID:
<div class="page" data-role="page" id="gmaps">
  • 最后,您必须阻止双重加载脚本,因此请将您的调用更改为gmaps4rails帮助程序:
  

&lt;%= gmaps4rails(@ json,false,false)%&gt;