2

Rails プロジェクトですばらしい宝石 gmaps4rails を使用しています。私のローカル マシンでは問題なく動作しますが、Heroku の Cedar スタックにデプロイされると、javascript は でエラーをスローし、window.onload = function() { Gmaps.triggerOldOnload(); Gmaps.loadMaps(); };gmaps に triggerOldOnload が存在しないことを訴えます。繰り返しますが、ローカルでは問題なく動作します。

エラーが表示されるスクリプト ブロック全体を次に示します。

<SCRIPT type="text/javascript" charset="utf-8">
Gmaps.map = new Gmaps4RailsGoogle();
Gmaps.load_map = function() {
Gmaps.map.map_options.auto_adjust = true;
Gmaps.map.initialize();
Gmaps.map.markers = [{"title":"Project 1","lat":18.71381,"lng":-72.35581},    {"title":"Project 2","lat":18.71567,"lng":-72.35603}];
Gmaps.map.markers_conf.do_clustering = true;
Gmaps.map.create_markers();
Gmaps.map.adjustMapToBounds();
Gmaps.map.callback();
};
Gmaps.oldOnload = window.onload;
 window.onload = function() { Gmaps.triggerOldOnload(); Gmaps.loadMaps(); };
</SCRIPT>

ご覧いただきありがとうございます。

4

3 に答える 3

3

gem を更新したが、コマンドを再実行してアプリのアセットをコピーしなかったと思います。

于 2012-05-19T07:06:21.043 に答える
2

gmaps4rails をアップグレードした後、同様の問題が発生しました。

問題は、生成された js ファイルのファイル名と構造の変更でした。

application.js 内

バンドルされたアセットに含める必要がある gmaps4rails.base.js があります。これは、見つからないメソッドがある場所です。

//= require gmaps4rails/gmaps4rails.base.js

また

//= require gmaps4rails/googlemaps.js

今でしょ

//= require gmaps4rails/gmaps4rails.googlemaps.js
于 2012-07-01T16:21:36.093 に答える
0

あなたのマイレージは異なる場合があります-使用しているRailsまたはGMaps4Railsのバージョンはわかりませんが、Rails 3.2.16/Gmaps4Rails v2でこの問題に遭遇したとき(commit 52d7161409a060ddeabc87aa3c10049adc5edd4d、ここの手順に従って、マップの追加セクションでJavascript :

<script src="//maps.google.com/maps/api/js?v=3.13&sensor=false&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>
于 2013-12-05T19:45:41.773 に答える