Хорошо, так что я наконец-то понял это. Вот как ты это делаешь; : 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))
И все готово.