2012-04-20 3 views
0

古いRails 2.1アプリをアップグレードしていて、Gmaps4Rails gemでgoogle_mapsプラグインを置き換えています。これまでの変換はかなり単純です。残りのタスクは、マップの横に表示されているアドレスのリストのmouseOverで、プログラムによってマーカーを表示および非表示にすることです。mouseOverイベントでinfowindowを表示するには

私の質問は、情報ウィンドウを表示するためのマーカーへのハンドルを取得する方法ですか?

this questionが見つかりましたが、マーカーのmouseOverを処理しているようです。基本的には、マップ外の要素からmouseOverイベントを使用して、マーカーの情報ウィンドウを表示します。

何か助けていただければ幸いです。

この動作はgoogle_mapsプラグインに組み込まれているようです(私が知る限り)。

答えて

1

gmaps4railsでこれを実現する組み込み方法はありません。

1)お使いのコントローラ

Foo.your_scope.to_gmaps4rails do |obj, marker| 
    # Add any custom elements here 
    marker.json { :id => obj.id } 
end 

でこれはGmaps.map.markers配列の各要素のidを追加します。しかし、ここで関連するステップです。

    • は、関連オブジェクトのid

    JavaScriptを使用して、各側要素に属性を追加します。あなたのビュー

    HTMLで

    2)そのidからマーカを取得するjs関数を書く(基本的には、ループGmaps.map.markersと各要素のIDを確認してください)

  • あなたの側の要素を観察するjs関数mouseOverを記述してください。コールバックでは、上記の関数のおかげで関連マーカーを見つけ、最後にこれを引き起こします:foundMarker.infowindow.open(Gmaps.map.map, foundMarker.serviceObject)

関連する問題