活动gmap4rails映射到fancybox灯箱

时间:2012-07-13 01:01:29

标签: ruby-on-rails-3 fancybox gmaps4rails

我觉得我错过了一些非常愚蠢的东西,但我整天都被困在这里并没有找到任何可以解决的问题。我想在调用fancybox灯箱时加载一个标有其中用户的地图,以下代码是我所拥有的最好和最小的方法,但我得到了:

ReferenceError:找不到变量:google

= link_to image_tag('map.png'), map_vendor_path(@coupon.vendor), class: 'js-show-map'

:javascript
  $(document).ready(function(){
    $('.js-show-map').fancybox({
      onComplete: function(){
        Gmaps.loadMaps();
        Gmaps.map.addMarkers([{"lng": "7.859409", "lat": "48.023551"}]);
      }
    });
  });

点击链接

时会调用以下视图

map.html.haml

// 
 it's here just for test
= stylesheet_link_tag 'gmaps4rails.css'
= javascript_include_tag "gmaps4rails/gmaps4rails.base"
= javascript_include_tag "gmaps4rails/gmaps4rails.googlemaps"

= gmaps4rails(@vendor.to_gmaps4rails)

= yield :scripts

的application.js

...
//= require_tree ./templates
//= require_tree ./gmaps4rails

application.css

//= require gmaps4rails

我检查了头源代码,我看到了

<script src="/assets/gmaps4rails/gmaps4rails.base.js?body=1" type="text/javascript"></script>
<script src="/assets/gmaps4rails/gmaps4rails.googlemaps.js?body=1" type="text/javascript"></script>

不在灯箱中时,地图加载正常。任何帮助将不胜感激,谢谢。

1 个答案:

答案 0 :(得分:0)

我猜问题如下:

  • 点击fancybox

  • 它检索gmaps4rails html和脚本

  • 外部脚本未即时加载

所以你应该:

  • 在根视图中手动包含js依赖项

  • 禁用外部js依赖项包含(但不是必需的)