'The GPolyline object may be initialized on GEOS LineStirng, LinearRing,
and Polygon objects (internal rings not supported) or a parameter that
may instantiated into one of the above geometries.
Keyword Options:
color:
The color to use for the polyline.  Defaults to \'#0000ff\' (blue).
weight:
The width of the polyline, in pixels.  Defaults to 2.
opacity:
The opacity of the polyline, between 0 and 1.  Defaults to 1.'

def __init__(self, geom, color='#0000ff', weight=2, opacity=1):

    if isinstance(geom, six.string_types):
        geom = fromstr(geom)
    if isinstance(geom, (tuple, list)):
        geom = Polygon(geom)
    if isinstance(geom, (LineString, LinearRing)):
        self.latlngs = self.latlng_from_coords(geom.coords)
    elif isinstance(geom, Polygon):
        self.latlngs = self.latlng_from_coords(geom.shell.coords)
    else:
        raise TypeError('GPolyline    may    only    initialize    on    GEOS    LineString,    LinearRing,    and/or    Polygon    geometries.')
    self.envelope = geom.envelope
    (self.color, self.weight, self.opacity) = (color, weight, opacity)
    super(GPolyline, self).__init__()
