1

我为我的 Rails 应用程序安装了 gmaps4rails,运行了生成器,并在我的 application.js 文件中需要这样的两个文件,以及 underscore.js

//= require underscore
//= require gmaps4rails/gmaps4rails.base
//= require gmaps4rails/gmaps4rails.googlemaps

按照 github https://github.com/apneadiving/Google-Maps-for-Rails上的说明,在 layout.html.erb 中添加这些依赖项

 <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>

当我尝试使用此代码从 github 页面创建演示地图时,我收到一个错误,即该对象没有build方法。

未捕获的类型错误:对象 # 没有方法“构建”

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();
});

事实上,当我base在清单文件中查看我需要的文件时,没有build该对象的方法。

如何在新版本的 gmaps4rails 中创建地图?

更新 gmaps 的 github 帐户说以这种方式需要 gmaps,但是当我这样做时说'找不到文件'gmaps/google'

//= require underscore
//= require gmaps/google
4

3 回答 3

4

您应该在资产管道中使用这些要求

//= require underscore
//= require gmaps/google

请记住,您需要手动添加 underscore.js 或使用 gem 才能使用它。

于 2013-11-01T22:16:04.360 回答
3

对于错误:

couldn't find file 'gmaps/google'

我发现我只需要做一个包更新 gmaps4rails,因为我一直在使用 v1.5.6 而不是更新的 2.0.4。

于 2013-11-06T12:56:36.553 回答
1

在您的应用程序目录中使用

rails g gmaps4rails:copy_js

或者

rails g gmaps4rails:copy_coffee
于 2013-11-04T08:37:03.870 回答