Rails 4:ReferenceError:未定义Gmaps

时间:2015-04-17 13:27:08

标签: ruby-on-rails gmaps4rails

我正在尝试将gmap插入到我的网页中,无论我总是得到ReferenceError: Gmaps is not defined。这是我到目前为止所做的:

  • 添加gem 'gmaps4rails',运行捆绑安装,重启服务器
  • 在我的app / assets / javascript文件夹中添加了下划线
  • //= require underscore //= require gmaps/google添加到我的application.js
  • 已编辑的应用程序和我的视图html(下面的代码)
  • 将一个名为Gmap.js的自定义js文件添加到我的app / assets / javascript文件夹(下面的代码)

我的application.html.erb(只是头脑):

<head>
  <title><%= @page_title %></title>
  <%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track' => true %>
  <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
  <%= csrf_meta_tags %>
  <script src="//maps.google.com/maps/api/js?v=3.13&amp;sensor=false&amp;libraries=geometry" type="text/javascript"></script>
  <script src='//google-maps-utility-library-v3.googlecode.com/svn/tags/markerclustererplus/2.0.14/src/markerclusterer_packed.js' type='text/javascript'></script>
  <%= yield :scripts %>
</head>

我的index.html.erb

<div class="col-xs-6">
        <div style='width: 800px;'>
            <div id="map" style='width: 800px; height: 400px;'></div>
        </div>
    </div>
    <br />
</div>

我的gmap.js

handler = Gmaps.build('Google');
handler.buildMap({ provider: {}, internal: {id: 'map'}}, function(){
  markers = handler.addMarkers([
    {
      "lat": 0,
      "lng": 0,
      "picture": {
        "url": "https://addons.cdn.mozilla.net/img/uploads/addon_icons/13/13028-64.png",
        "width":  36,
        "height": 36
      },
      "infowindow": "hello!"
    }
  ]);
  handler.bounds.extendWith(markers);
  handler.fitMapToBounds();
});

我错过了一些明显的东西吗?谢谢你的帮助

这是整个事情的GitHub repo。相关文件名在帖子中。

2 个答案:

答案 0 :(得分:0)

在布局文件中,请确保在页脚底部不包含js

答案 1 :(得分:0)

我刚遇到同样的问题,在我的应用程序中。我需要按特定顺序调用javascripts。愿这会帮助其他人

//= require vendor/underscore-min
//= require gmaps/google
//= require remastering/find_us