Fixed #10072 -- `GMarker` overlays now have `draggable` option. Thanks to prairiedogg for ticket and patch.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@10002 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Justin Bronn 2009-03-08 18:34:24 +00:00
parent 392f81cba9
commit cee31735f7
1 changed files with 7 additions and 2 deletions

View File

@ -184,7 +184,7 @@ class GMarker(GOverlayBase):
return render_to_response('mytemplate.html', return render_to_response('mytemplate.html',
{'google' : GoogleMap(markers=[marker])}) {'google' : GoogleMap(markers=[marker])})
""" """
def __init__(self, geom, title=None): def __init__(self, geom, title=None, draggable=False):
""" """
The GMarker object may initialize on GEOS Points or a parameter The GMarker object may initialize on GEOS Points or a parameter
that may be instantiated into a GEOS point. Keyword options map to that may be instantiated into a GEOS point. Keyword options map to
@ -193,6 +193,9 @@ class GMarker(GOverlayBase):
Keyword Options: Keyword Options:
title: title:
Title option for GMarker, will be displayed as a tooltip. Title option for GMarker, will be displayed as a tooltip.
draggable:
Draggable option for GMarker, disabled by default.
""" """
# If a GEOS geometry isn't passed in, try to construct one. # If a GEOS geometry isn't passed in, try to construct one.
if isinstance(geom, basestring): geom = fromstr(geom) if isinstance(geom, basestring): geom = fromstr(geom)
@ -205,6 +208,7 @@ class GMarker(GOverlayBase):
self.envelope = geom.envelope self.envelope = geom.envelope
# TODO: Add support for more GMarkerOptions # TODO: Add support for more GMarkerOptions
self.title = title self.title = title
self.draggable = draggable
super(GMarker, self).__init__() super(GMarker, self).__init__()
def latlng_from_coords(self, coords): def latlng_from_coords(self, coords):
@ -212,7 +216,8 @@ class GMarker(GOverlayBase):
def options(self): def options(self):
result = [] result = []
if self.title: result.append('title: "%s"' % self.title) if self.title: result.append('title: "%s"' % self.title)
if self.draggable: result.append('draggable: true')
return '{%s}' % ','.join(result) return '{%s}' % ','.join(result)
@property @property