lib/geos/google_maps/api_2.rb
def to_g_polygon_api2(polygon_options = {}, options = {})
      klass = if options[:short_class]
        'GPolygon'
      else
        'google.maps.Polygon'
      end

      poly_opts = if polygon_options[:polygon_options]
        Geos::Helper.camelize_keys(polygon_options[:polygon_options])
      end

      args = [
        (polygon_options[:stroke_color] ? "'#{Geos::Helper.escape_javascript(polygon_options[:stroke_color])}'" : 'null'),
        (polygon_options[:stroke_weight] || 'null'),
        (polygon_options[:stroke_opacity] || 'null'),
        (polygon_options[:fill_color] ? "'#{Geos::Helper.escape_javascript(polygon_options[:fill_color])}'" : 'null'),
        (polygon_options[:fill_opacity] || 'null'),
        (poly_opts ? poly_opts.to_json : 'null')
      ].join(', ')
      "new #{klass}([#{self.to_g_lat_lng_api2(options).join(', ')}], #{args})"
    end
def to_g_polygon_api2(polygon_options = {}, options = {})
      klass = if options[:short_class]
        'GPolygon'
      else
        'google.maps.Polygon'
      end

      poly_opts = if polygon_options[:polygon_options]
        Geos::Helper.camelize_keys(polygon_options[:polygon_options])
      end

      args = [
        (polygon_options[:stroke_color] ? "'#{Geos::Helper.escape_javascript(polygon_options[:stroke_color])}'" : 'null'),
        (polygon_options[:stroke_weight] || 'null'),
        (polygon_options[:stroke_opacity] || 'null'),
        (polygon_options[:fill_color] ? "'#{Geos::Helper.escape_javascript(polygon_options[:fill_color])}'" : 'null'),
        (polygon_options[:fill_opacity] || 'null'),
        (poly_opts ? poly_opts.to_json : 'null')
      ].join(', ')
      "new #{klass}([#{self.to_g_lat_lng_api2(options).join(', ')}], #{args})"
    end
Returns a new GPolygon. Note that this GPolygon just uses whatever
 coordinates are found in the sequence in order, so it might not
 make much sense at all.

 The options Hash follows the Google Maps API arguments to the
 GPolygon constructor and include :stroke_color, :stroke_weight,
 :stroke_opacity, :fill_color, :fill_opacity and :options. 'null' is
 used in place of any unset options.