インストール済みgmaps4rails gem for rails 3.1.1アプリケーション。gmaps4rails javascript変数を見つけることができません:OpenLayers
:ReferenceError: Can't find variable: OpenLayers
<%= gmaps("markers" => {"data" => @locations}, "map_options" => { "provider" => "openlayers"}) %>
私はJavaScriptコンソールSafariでで次のエラーを取得する:私は、Googleはすべてが正常に動作しますが、私はを視野に自分のコードを変更するときに、マップする使用してマップを生成すると
ここ資産パイプラインを使用することができますapplication.rbの一部です:
config.assets.enabled = true config.assets.version = '1.0'
私は両方の製品でアプリケーションを実行している縛らイオンモード:
config.assets.compress = true
config.assets.debug = true
config.assets.digest = false
そして、開発モードで:
config.serve_static_assets = true
config.assets.compress = true
config.assets.compile = false
config.assets.digest = true
しかし、それは働いていません。私はApache +パッセンジャーとBundlerを使用しています。
gmaps4rails.openlayers.js:41からjavascriptエラー(変数が見つからない:OpenLayers)がスローされています。これは、javascriptが圧縮されていないときに表示されます。
githubの上の文書で述べたように、私はapplication.jsでopenlayers.jsライブラリを含めています:私の生成されたページのソースを表示
//= require gmaps4rails/openlayers.js
は私のJavaScriptが含まれているに関する情報を提供しますヘッド部にである:後でページで、その後
<script src="/assets/gmaps4rails/gmaps4rails.base.js?body=1" type="text/javascript"></script>
<script src="/assets/gmaps4rails/gmaps4rails.openlayers.js?body=1" type="text/javascript"</script>
<script src="/assets/gmaps4rails/openlayers.js?body=1" type="text/javascript"></script>
しかし、中にはを持っていた地図コンテナタグ、後0
私はどうやらGoogleは、スクリプトをマッピングします:
<script type="text/javascript" src="//maps.google.com/maps/api/js?v=3.5&sensor=false&libraries=geometry"></script>
<script type="text/javascript" src="//google-maps-utility-library-v3.googlecode.com/svn/tags/infobox/1.1.9/src/infobox_packed.js"></script>
<script type="text/javascript" src="//google-maps-utility-library-v3.googlecode.com/svn/tags/markerclustererplus/2.0.5/src/markerclusterer_packed.js"></script>
<script type="text/javascript" src="//google-maps-utility-library-v3.googlecode.com/svn/trunk/richmarker/src/richmarker-compiled.js"></script>
<script type="text/javascript" charset="utf-8">
Gmaps.map = new Gmaps4RailsOpenlayers();
Gmaps.load_map = function() {
Gmaps.map.map_options.provider = "openlayers";
Gmaps.map.initialize();
Gmaps.map.markers = [];
Gmaps.map.create_markers();
Gmaps.map.adjustMapToBounds();
Gmaps.map.callback();
};
window.onload = function() { Gmaps.loadMaps(); };
</script>
は、必要なものは、次のOpenLayersを地図を使用できるように関係しているいくつかのより多くの設定があります:
<%= gmaps("markers" => {"data" => @locations}, "map_options" => { "provider" => "openlayers"}) %>
は、私はdidnのを願って私が何度もやってみたが、これについて何も言及していない文書では何も見つからない。
私はOpenLayers.jsをダウンロードし、それを私のlib/assets/javascriptフォルダに入れて解決しました。私はドキュメンテーションで何かを忘れてしまったのですか?これは異なったやり方で行われるべきですか?これは正しい手順ですか? –
これはgemのエラーでした...ありがとうございます+1 – apneadiving