2009-04-22 125 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)) 

大功告成。