Ruby on Rails /黄色地图对Ruby插件的困境

时间:2009-04-22 23:46:22

标签: ruby-on-rails ruby ruby-on-rails-plugins

好的,我已经阅读了插件评论和文档,我还没有想出如何做到这一点的答案。这是我的问题我想使用:info_window_tabs和:icon选项,但我不知道传递我的信息的格式。根据文档,以下代码应该是正确的。这是我的代码:

        @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.

可以查看我尝试与之互动的相关ruby文件,包括作者的评论,here.

我在IRC中尝试了#rubyonrails频道,并直接通过电子邮件发送作者并在GitHub上报告了一个问题。这真的只是语法问题。

谢谢!

1 个答案:

答案 0 :(得分: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))

你已经完成了。