A viewlet for Plone that show up a Google Maps using the document location field. Also can handle KML files using related contents.
Project description
Documentation
Every Plone content can now display a Google’s Map inside a viewlet. In the simpler use case the map is centered on a valid address that Google Maps service can understand (like “Piazza Grande, Modena, Italy”) taken from the content’s “Location” field.
The viewlet is placed (by default) below the content, but your custom theme can move it where you want.
To finally enable the map you need also to access a new option under the “Action” menu. Use this same menu for disabling the map. Remember that a map is displayed only if there is a geolocation to display; if not, a user with the proper permission only see a warning message while other users don’t see anything.
Advanced use
When you mark a content as “map enabled”, you will see a new “Geolocation” fieldset when you edit it.
From this fieldset you can customize some map behaviors, like:
you can choose to point the map onto a different point that isn’t the content “Location” field (maybe still keeping the Location as the displayed baloon info).
you can set the starting zoom level of the map
you can choose to display or not the baloon on the marker, or display a custom text that isn’t the Location
If you don’t provide an official Location but only the alternative Geolocation and choose to display the location info, the displayed address will be reverse-geocoded, to display a human readable information.
Maps dependency
Starting from version 0.6, the product needs Maps as dependency. A lot of configuration procedures (like put a valid Google Key) are now left to Maps itself. Please refer to its documentation.
In this way we also use the location field and widget for choose a geolocation directly using Google Maps.
Finally, a content that is “map enabled” and were you choosed a geolocation from the new field, can be used as a Maps GeoLocation content (in Folder or Collection “Map view”).
KML
Also you can handle KML file using again the Google APIs. You must simply add Plone files with KML extensions to the related contents section of a document where the map is enabled.
When you have KML data to show, you can also use a new portlet that will help users to enable/disable single KML data from the map. The portlet must be enabled where you prefer like every other.
Other dependencies
Tested on Plone 3.3 and 4.1 with Products.Maps 2.1.1
TODO and know issues
think about moving KML files away from using related contents and into the new geolocation fieldset
make the Products.Maps dependency optional while keeping all other features
find a more elegant way to fix issue #35 of Maps
find how to fix a bug for using the LocationWidget on Firefox (see also Maps issue #36)
some geolocation fieldset’s elements are not translable (seems they are using the plone domain)
Other products
If you need something more professional, pluggable and modular (also with KML support) don’t miss the collective.geo suite! We suggent you to evaluate this suite for a modern Plone 4.0 and 4.1 environment. Still, Monet Maps Viewlet is Plone 3 compatible.
Credits
Developed with the support of:
All of them supports the PloneGov initiative.
Changelog
0.6.2 (2012-01-04)
registering the view only for the IViewView, not trying to render it when in other views [keul]
0.6.1 (2011-09-27)
fixed a bug that raise error if enabling/disabling map on default page in a folder [keul]
some more tests [keul]
0.6.0a (2011-09-23)
Now this product depends on Maps (and the code is now on the collective).
added tests [keul]
changed the logic used for beeing able to enable the map: you can always enable it (with permission), then it will be displayed if the “Location” info has been found [keul]
added a product browser layer [keul]
package refactoring and cleanup [keul]
some label in the portlet were still in italian; now translated [keul]
map-enabled-content are now also compatible with IMarker content, so can be displayed in a Maps folder or collection view (only when the “Geolocation” data has been provided) [keul]
all static resources moved in browser directories [keul]
added uninstall step, that also remove markers from all contents [keul]
map position is now taken from a new content field (”Geolocation”), falling back to a custom location provider (default one: the content “Location” field) [keul]
display a message to the user with proper permissions if the map can’t be shown for missing data [keul]
use the Products.Maps API keys instead of requiring our own [keul]
added zoomLevel field, for controls the starting zoom of the map [keul]
added some additional fields to control if/what/how information must be displayed in the map’s baloon [keul]
map is now loaded in the proper language, not always english [keul]
properly unload Google Map for preventing IE memory leaks, and other JavaScript optimizations [keul]
0.5.0 (2011-08-25)
First public release.
unified permissions name [keul]
map enable/disable was not properly protected [keul]
migrated to Plone 4.1 [keul]
restored locales (again) and removed i18n folder [keul]
JavaScript cleanup [keul]
fully translable [keul]
0.4.0 (2009-03-30)
i18n support (but many other string are in italian) [keul]
removed locales and gone back to i18n [keul]
fixed CSS issue when printing [keul]
reinstall no more reset the Google API key [keul]
now support multiple hostname (in a syntax like Products.Maps) [keul]
0.3.1 (Unreleased)
removed skins stuff, replaced with browser resources
adjusted action for Generic Setup import steps
Google’s key now is read from a “monet_properties” property sheet, not from portal object
enable the mousewheel use when maps are displayed
0.3.0 (2009-02-25)
moved to Zope 3 egg format
added an object action, for enabling/disabling the map (if the content has a location or not)
other minor fixes
0.2.0 (2008-11-12)
fixed some style issues
0.1.0 (Unreleased)
initial release
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.