2011-09-10 40 views
0

我正在使用gmaps4rails,我需要在标记的信息窗口中执行JavaScript。每个标记的底层对象都有一个与之关联的声音文件,我希望能够在信息窗口中播放该文件。我使用的播放器是jwplayer,它使用几乎没有params的javascript调用实例化。Gmaps4rails javascript内容的自定义信息窗口

我试图使用gmaps4rails自己的方法插入代码到信息窗口如下图所示

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 

,但不起作用。实际上,在该方法中使用<脚本>标记的任何东西似乎都会破坏gmap4rails地图加载,无论如何我会尝试它。

是否有一种方法可以通过使用gmaps4rails在信息窗口内部执行JavaScript,还是需要为此提供其他解决方案?

回答

0

您将无法在gmaps4rails中添加任何<script>(以及原始Google Maps API,我猜)。

您应该使用click事件在标记+ close事件infowindow上处理此问题。

使用回调添加这些功能。

+0

谢谢,这给了我方向。我想我会尝试将声音文件路径插入到隐藏元素的信息窗口中,然后使用回调来抓取并实例化播放器。 – Yogi

+0

如何访问Gmaps4rails中信息框的“关闭”事件? – Bash

+0

关于javascript,没有什么特别的gmaps4rails。 Infowindow对象为Gmaps.map.markers中的每个标记存储。在迭代时,marker.infowindow将检索可以在任何Google地图应用程序中简单工作的对象 – apneadiving

相关问题