2009-04-22 66 views
1

好吧,我已经通读了插件评论和文档,我还没有想出如何做到这一点的答案。这是我的问题,我想使用:info_window_tabs和:icon选项,但我不知道用什么格式来传递我的信息。根据文档,以下代码应该是正确的。这里是我的代码:Ruby on Rails /黄色地图对于Ruby插件的困境

 @mapper.overlay_init(GMarker.new([map.lat, map.lng], 
     :title => map.name, 
     :info_window_tabs => [ 
      {:tab => "HTML", :content => @marker_html}, 
      {:tab => "Attachments", :content => "stuff"}], 
     :icon => { 
       :image => "../images/icon.png" 
       })) 

自述和文档可以被看作here.

而且,我想与互动,包括作者的意见,可以看作here.

我有关的ruby文件已经尝试过IRC中的#rubyonrails频道,并直接向作者发送电子邮件并在GitHub上报告问题。这实际上只是一个语法问题。

谢谢!

回答

1

好的,所以我终于明白了这一点。以下是你如何做到的; :icon接受一个GIcon变量,并且:info_window_tabs接受一个GInfoWindowTabs数组。这里是你如何声明每个插件。

申报GICON

@mapper.icon_global_init(GIcon.new(:image => "../images/civil.png", 
     :icon_anchor => GPoint.new(0,0), 
     :shadow => "../images/shadow.png", 
     :shadow_size => GSize.new(37,32), 
     :info_window_anchor => GPoint.new(9,2)), "civil_icon") 

    @civil_icon = Variable.new("civil_icon") 

声明GInfoWindowTab

@tab1 = GInfoWindowTab.new('Tab 1 Label', 'HTML for inside of tab1') 
    @tab2 = GInfoWindowTab.new('Tab 2 Label', 'HTML for inside of tab2') 

    @window_tabs = [@tab1, @tab2] 

然后在你的GMarker声明只是做到以下几点:

@mapper.overlay_init(GMarker.new([map.lat, map.lng], 
      :title => map.name, 
      :icon => @civil_icon, 
      :max_width => 300, 
      :info_window_tabs => @window_tabs)) 

大功告成。