Changeset 386
- Timestamp:
- 07/10/06 03:01:21
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
qPloneGoogleMaps/trunk/content/Map.py
r385 r386 1 1 from AccessControl import ClassSecurityInfo 2 2 from Products.CMFCore.permissions import ModifyPortalContent, View 3 from Products.CMFCore.utils import getToolByName 3 4 4 5 try: … … 156 157 def getOverlayMarkers(self): 157 158 """ Return markers of the contained overlays """ 158 159 return [{el.getMarkersColor():el.getMarkers()} for el in self.folderlistingFolderContents(contentFilter={'portal_type': 'Overlay'})] 159 catalog = getToolByName(self, 'portal_catalog') 160 result = {} 161 for el in self.folderlistingFolderContents(): 162 if el.portal_type == 'Overlay': 163 color = el.getMarkersColor() 164 markers = el.getMarkers() 165 elif el.portal_type == 'Marker': 166 color = el.getColor() 167 markers = list(catalog(path='/'.join(el.getPhysicalPath()))) 168 else: continue 169 result[color] = result.get(color, []) + markers 170 return result 160 171 161 172 registerType(Map, PROJECTNAME) qPloneGoogleMaps/trunk/skins/qPloneGoogleMaps/map_view.pt
r385 r386 31 31 Description 32 32 </p> 33 <!-- <p tal:content="python:here.maps_markers(longlat=here.getOverlayMarkers(), node='map', controls=here.getMapControl(), loc=here.geoLocation(), typeControls=here.getTypeControl(), overviewControls=here.getOverviewControl(), events=True, maptype=here.getMapType(), color=False, zoom=here.getZoom())"></p> --> 33 34 34 <!-- gmarker 35 35 <ul> qPloneGoogleMaps/trunk/skins/qPloneGoogleMaps/maps_markers.py
r385 r386 29 29 30 30 if (not color) and longlat: 31 lat = [float(e.geoLocation[0]) for el in longlat for e in el.values()[0]]32 lon = [float(e.geoLocation[1]) for el in longlat for e in el.values()[0]]33 sMarkers = "\n".join(["""addMarker(%f, %f, "%s", "%s", "%s", "%s");""" % (float(e.geoLocation[0]), float(e.geoLocation[1]), e.Title, e.getURL(), processDesc(e.Description), el .keys()[0]) for el in longlat for e in el.values()[0]])31 lat = [float(e.geoLocation[0]) for el in longlat.values() for e in el] 32 lon = [float(e.geoLocation[1]) for el in longlat.values() for e in el] 33 sMarkers = "\n".join(["""addMarker(%f, %f, "%s", "%s", "%s", "%s");""" % (float(e.geoLocation[0]), float(e.geoLocation[1]), e.Title, e.getURL(), processDesc(e.Description), el) for el, value in longlat.items() for e in value]) 34 34 elif longlat: 35 35 lat = [float(el.geoLocation[0]) for el in longlat] qPloneGoogleMaps/trunk/skins/qPloneGoogleMaps/marker_view.pt
r385 r386 9 9 tal:attributes="src string:http://maps.google.com/maps?file=api&v=2&key=${key}"> 10 10 </script> 11 <span tal:replace="structure python:here.maps_markers(here.portal_catalog(path='/'.join(here.getPhysicalPath())), node='map', events=True, loc=here.geoLocation(), controls='large', typeControls=True, overviewControls=True, marker=True )" />11 <span tal:replace="structure python:here.maps_markers(here.portal_catalog(path='/'.join(here.getPhysicalPath())), node='map', events=True, loc=here.geoLocation(), controls='large', typeControls=True, overviewControls=True, marker=True, color=here.getColor())" /> 12 12 13 13 </metal:block>
