我觉得我错过了一些非常愚蠢的东西,但我整天都被这个问题困扰,没有找到任何可以解决的问题。我想在调用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"}]);
}
});
});
单击链接时会调用以下视图
地图.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
应用程序.js
...
//= require_tree ./templates
//= require_tree ./gmaps4rails
应用程序.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>
不在灯箱中时,地图加载正常。任何帮助将不胜感激,谢谢。