2011-09-10 15 views
0

私はgmaps4railsを使用しています。マーカーの情報ウィンドウ内でjavascriptを実行する必要があります。すべてのマーカーの基礎となるオブジェクトには、関連付けられたサウンドファイルがあり、そのファイルを情報ウィンドウ内で再生できるようにしたいと考えています。私が使用しているプレーヤーはjwplayerであり、javascriptコールでインスタンス化されます。Gmaps4rails javascriptのコンテンツを含むカスタム情報ウィンドウ

私は以下の

def gmaps4rails_infowindow 
    "<div id='jwplayer_#{self.id}'>Here comes the player...</div> 
    <script type=\"text/javascript\"> 
     //<![CDATA[ 
     jwplayer(\"jwplayer_#{self.id}\").setup(#{options}); 
     //]]> 
    </script>" 
end 

のような情報ウィンドウにコードを挿入するgmaps4railsに独自のメソッドを使用しようとしたが、それは動作しません。実際には、そのメソッドの中に<スクリプト>タグを持つものは、とにかく私が試してgmap4railsの地図の読み込みを破るようだ。

gmaps4railsを使用して情報ウィンドウ内でjavascriptを実行する方法はありますか、それとも他のソリューションを使用する必要がありますか?

答えて

0

<script>をgmaps4railsに追加することはできません(私が推測する未処理のGoogleマップAPIと同様)。

マーカーのclickイベントcloseイベントのインフォボックスを使用してこの問題に対処する必要があります。

これらの機能を追加するには、コールバックを使用します。

+0

ありがとう、それは私に方向を与える。私は隠された要素の情報ウィンドウにサウンドファイルのパスを挿入しようとし、コールバックを使用してそれを掻き集めてプレーヤをインスタンス化しようとします。 – Yogi

+0

Gmaps4railsのインフォボックスの「クローズ」イベントにどのくらい正確にアクセスできますか? – Bash

+0

javascriptに関するgmaps4railsに特有のものは何もありません。 Infowindowオブジェクトは、Gmaps.map.markersの各マーカーごとに格納されます。あなたが反復すると、marker.infowindowは、あなたが単に任意のGoogleマップアプリケーションで動作することができるオブジェクトを取得します – apneadiving

関連する問題