3

Gmaps4Rails gem を使用して、Rails アプリケーション (Rails 3.2.11 とアセット パイプラインを使用しています) にマップを組み込みたいと考えています。https://github.com/apneadiving/にあるこの gem のセットアップ手順に従って、

  • 経由でGemfileに宝石を含めましたgem gmaps4rails
  • gem によって提供されるジェネレーターを使用して、資産を私の Rails アプリにコピーしましたrails generate gmaps4rails:install。それを行った後gmaps4rails.cssapp\assets\stylesheetsフォルダと àapp\assets\javascripts\gmaps4rails` フォルダに 5 つの coffeescripts があります
  • を介してJavascriptを含めました<%= yield :scripts %>。副次的な質問: ところで、これを入れるだけで十分ですか。終了本文と終了htmlタグ、またはJavascriptが生成される場所で使用されるフッタータグが必要ですか?

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

モデル、移行などはすべてセットアップされており、機能するはずです。最後に、ビューで を呼び出して<%= gmaps4rails(@json) %>います。

残念ながら、JavaScript エラーが発生しますUncaught ReferenceError: Gmaps is not defined。次のスクリーンショットは、Chrome が gmaps4rails Javascript でエラーを報告する方法を示しています。

gmaps4rails で Chrome が JavaScript エラーを報告する

その結果、マップはまったくレンダリングされません。マップの CSS ラッパーだけがありますが、コンテンツはありません。

これを修正することはできませんので、あなたのサポートが必要です。

これまでに試して気づいたこと:

  • エラーが発生したスクリプトの前の Google からの 2 つの Javascript は、動的に読み込まれ、最後の Javascript が読み込まれた後に表示されます。JavaScript をソースから直接ダウンロードし、そこからローカル ファイルを作成し、アセット パイプラインに含めましたが、問題は解決しませんでした。
  • Gmaps(参照できない)は、以前にロードされたライブラリJavascriptsで名前が変更されていると思います。ただし、これがどのように機能するかを詳しく知らないため、ここでフォローアップして確認することはできません。
4

1 に答える 1

1

gmaps4rails Javascript をアセット パイプラインに適切に追加していないことがわかりました。

どちらかを追加

    //= 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 に答える