3

我想通过 Gmaps4Rails gem 将地图包含到我的 rails 应用程序中(我正在使用带有资产管道的 Rails 3.2.11)。按照https://github.com/apneadiving/上此 gem 的设置说明,我有

  • 通过将 gem 包含在 Gemfile 中gem gmaps4rails
  • 使用 gem 提供的生成器将资产复制到我的 rails 应用程序rails generate gmaps4rails:install。之后,文件夹中有 , àapp\assets\javascripts\gmaps4rails` 文件夹中有 5 个咖啡gmaps4rails.css脚本app\assets\stylesheets
  • 通过<%= yield :scripts %>. 附带问题:顺便说一句就足够了。结束正文和结束 html 标记,还是应该在产生 Javascript 的地方使用页脚标记?

      ...
      </body>
      <%= yield :scripts %>
    </html>
    

模型、迁移等都已设置好并且应该可以工作。最后,在视图中,我正在调用<%= gmaps4rails(@json) %>.

不幸的是,我收到一个 JavaScript 错误Uncaught ReferenceError: Gmaps is not defined。以下屏幕截图显示了 Chrome 如何在 gmaps4rails Javascripts 中报告错误:

Chrome 在 gmaps4rails 上报告 JavaScript 错误

结果是地图没有以任何浓度呈现;只有地图的 CSS 包装器,但没有任何内容。

我无法解决这个问题,所以我需要你的支持。

到目前为止我尝试并注意到的内容:

  • 发生错误的脚本之前来自 Google 的两个 Javascript 似乎是动态加载的,并且在最后一个 Javascript 加载之后。我已经直接从源代码下载了 JavaScript,用它们构建了本地文件,并将其包含到资产管道中,但是,这并没有解决问题。
  • 我假设 Gmaps(无法引用)已在之前加载的库 Javascripts 中重命名。但是,由于我不知道它是如何详细工作的,所以我无法在这里跟进并检查它。
4

1 回答 1

1

我发现我错过了将 gmaps4rails Javascripts 正确添加到资产管道中。

添加任一

    //= require_tree .

或者

    //= require gmaps4rails/gmaps4rails.bing
    //= require gmaps4rails/gmaps4rails.googlemaps
    //= require gmaps4rails/gmaps4rails.mapquest
    //= require gmaps4rails/gmaps4rails.openlayers
    //= require gmaps4rails/gmaps4rails.base

到 application.js 将解决这个问题。

但是,似乎我忘记添加

    //= require_tree .

完全,我已将它作为最后一个包含添加到我的 application.js 中。

于 2013-05-28T10:29:42.770 回答