0

gmaps4railsを使用しようとしています。レコードを追加すると、クライアントテーブルに緯度と経度が入力されます。しかし、地図には何も表示されていません。

ブラウザコンソールから、2行目に「Gmapsが定義されていません」というエラーが表示されます。

<script type="text/javascript">
Gmaps.map = new Gmaps4RailsGoogle();
Gmaps.load_map = function() {

application.jsにコーヒーファイルとこれらの行を含むjavascriptgmaps4railsフォルダーがあります。

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

私のビューコードは次のとおりです。

  <ul id="markers_list">
  <%= gmaps("markers" => {"data" => @json, "options" => {"list_container" => "markers_list" } }) %>
  </ul>

私のモデルは:

 acts_as_gmappable

 def gmaps4rails_address
  "#{address1}, #{city}, #{state}, #{zipcode}"
 end

 def gmaps4rails_infowindow
   "#{client_name}, #{address1}, #{city}, #{state}, #{zipcode}"
 end

 def gmaps4rails_sidebar
   "<span>#{client_name}</span>"
 end

何か案は?

ありがとう!

更新:私はブラウザコンソールを見てきました。

これは、Googleマップを表示しようとしているビューページにあります。

<footer>
<script src="//maps.google.com/maps/api/js?v=3.8&amp;sensor=false&amp;client=&amp;key=&amp;libraries=geometry&amp;language=&amp;hl=&amp;region=" type="text/javascript"></script>
<script src="http://maps.gstatic.com/cat_js/intl/en_us/mapfiles/api-3/8/12/%7Bmain,geometry%7D.js" type="text/javascript"></script>

<script type="text/javascript">
Gmaps.map = new Gmaps4RailsGoogle();
Gmaps.load_map = function() {
Gmaps.map.initialize();
Gmaps.map.markers = [{"description":"Salt Lake County Headquarters, 2001    South State Street, Salt Lake City, UT, 84114","sidebar":"<span>Salt Lake County Headquarters</span>","lat":40.7267176,"lng":-111.8881423}, 
...(more data points right here)
Gmaps.oldOnload = window.onload;
window.onload = function() { Gmaps.triggerOldOnload(); Gmaps.loadMaps(); };

</footer>

最初の2つのスクリプトsrc=の直後には、次のものもあるはずです。

<script src="/javascripts/gmaps4rails/gmaps4rails.base.js?1355589475" type="text/javascript"></script>
<script src="/javascripts/gmaps4rails/gmaps4rails.googlemaps.js?1355589475" type="text/javascript"></script>

しかし、これらはページのさらに下に行き着きます。gmapsが実行される前に2つのスクリプトがロードされていないようです。だから、私はgmapsが定義されていないエラーを取得しています。

何か案は?ありがとう!

4

2 に答える 2

1

では、なぜマップをmarkers_listにレンダリングするのですか?

<!-- render your map here -->
<%= gmaps("markers" => {"data" => @json, "options" => {"list_container" => "markers_list" } }) %>
<!-- and here you render the markers_list -->
<ul id="markers_list"></ul>

<%= yield :scripts %>に含まれているshureですか

于 2013-06-04T14:46:43.383 に答える
0

ついにそれを理解した。次のコード行が私のレイアウトフッターにありました。

  <%= stylesheet_link_tag "application", :media => "all" %>

それをヘッダーに移動すると、Gmaps4railsが機能し始めました。

于 2012-12-28T15:36:47.703 に答える