1

わかりました、gmaps4rails を使用して Google マップをレンダリングするために数時間試みてきましたが、理解できないので、ここでいくつかのアイデアを得たいと思っていました。でもかなり近いと思います。

これが私がやったことです:

  • github でセットアップ手順を実行しました: https://github.com/apneadiving/Google-Maps-for-Rails
  • 私のビューの gmaps4rails メソッド呼び出しがマークアップにいくつかの JS コードを追加していることに気づいたので、Gmaps.load_map() への JS 呼び出しにブレークポイントを置きました。このメソッド内で、Gmaps.map.initialize() にブレークポイントを設定します。この時点で、空の div 領域 (マップがレンダリングされる場所) がページに表示されますが、この行をステップ実行すると、領域が非表示になります (特に、初期化内のマップ作成中に非表示が発生する場所です: return新しい google.maps.Map(document.getElementById(this.map_options.id), mergedOptions))。その次の行は、次のような lat/lng オブジェクトの配列を提供する地図マーカーの呼び出しです: Gmaps.map.markers = [{"lat":90.2765777,"lng":-37.7498712} ]なので、基本的には
  • また、firebug ネットワーク タブで Google マップ API への呼び出しがいくつかあることに気付きました (maps.gstatic.com、mt0.googleapi.com、および maps.googleapi.com への呼び出しが行われます)。
  • gmaps4rails css ファイルがブラウザー セッションにダウンロードされていることを確認しました (gmaps4rails.css を取得しています)。
  • ある時点で、Google APIキーを使用してビューにスクリプトタグを追加しようとしましたが、後でここで説明されているように、最新バージョンでは実際には必要ないことがわかりました: gmaps4railsのGoogleマップAPIキー
  • SO で同様の質問を検索したところ、これらが役に立たなかったことがわかりまし:

マップをレンダリングするためのデータが整っているように見えるので、本当に単純なものが欠けていると思います。何か案は?

4

1 に答える 1

1

gmaps4rails の map_container div を自分のマップ div 内にラップしていて、gmaps4rails を捨てていたことが判明しました。gmaps4rails の JS ロジックが挿入され、独自の div#map に依存していると想定しています。したがって、基本的に、gmaps4rails 呼び出しを id="map" の div でラップしないでください。

私のハムには、これがありました:

#map
  = gmaps4rails(@mapData)

これが必要なとき:

= gmaps4rails(@mapData)

または:

#foo
  = gmaps4rails(@mapData)
于 2013-04-27T13:10:39.353 に答える