Skip to main content

Add geo views for dexterity content with leaflet js library

Project description

collective.geo.leaflet

This package use the collective.geo.* suite with leaflet.

Todo

[ ] Get “attribution” map from registry

[ ] Testing loading map with Robot

[x] Add uninstall profile

[x] Translations

[ ] Simple element view should use geojson

[ ] Use leaflet for control panel map

[ ] Use leaflet for configure map

Dependencies

  • collective.geo.behaviour

  • collective.geo.contentlocations

  • collective.geo.geographer

  • collective.geo.json

  • collective.geo.mapwidget

  • collective.geo.openlayers

  • collective.geo.settings

  • collective.js.leaflet

  • collective.z3cform.mapwidget

  • collective.z3cform.colorpicker

How to add baseLayer

What is a leaflet baseLayer : http://leafletjs.com/examples/layers-control.html

In Plone, if you want to add a baseLayer, you have to add a subscriber on collective.geo.geographer.interfaces.IGeoreferenced (for exemple, in configure.zcml):

<subscriber
    for="collective.geo.geographer.interfaces.IGeoreferenced"
    provides="collective.geo.leaflet.interfaces.IMapLayer"
    factory=".maplayers.OpenStreetMap
    />

After, create your factory in python (maplayers.py):

from collective.geo.leaflet.maplayers import MapLayer
from Products.Five.browser.pagetemplatefile import ViewPageTemplateFile


class OpenStreetMap(MapLayer):
    name = u"osm"
    title = _(u"Open Street Map")
    index = ViewPageTemplateFile('browser/layers/osm.pt')

And add your javascript into a template file osm.pt:

<script type="text/javascript">
    var osmAttrib = '&copy; <a href="http://osm.org/copyright">OpenStreetMap</a> contributors';
    var osmUrl = 'http://{s}.tile.osm.org/{z}/{x}/{y}.png';
    var %(name)s = L.tileLayer(osmUrl, {
         attribution: osmAttrib,
    });
</script>

Tests

This package is tested using Travis CI. The current status is :

https://travis-ci.org/collective/collective.geo.leaflet.svg

Contributors

Changelog

0.2.4 (2017-04-05)

  • Get geojson content into a #geojson object into a data-geojson attribute. [bsuttor]

0.2.3 (2016-09-20)

  • Add adapter for adapting geomap settings (as map_center, …) [bsuttor]

0.2.2 (2016-08-12)

  • Use google api key from control panel. [bsuttor]

  • Do not get js from relatif url anymore. [bsuttor]

0.2.1 (2016-03-24)

  • Fix bug, get coordiantes. [bsuttor]

0.2 (2016-03-23)

  • Add polygon and polyline support. [bsuttor]

0.1b8 (2015-11-27)

  • Remove old Topic support [bsuttor]

0.1b7 (2015-01-14)

  • Marker are not more hidden with google baselayer. [bsuttor]

0.1b6 (2015-01-14)

  • Remove Markercluster plugin because it do not run with control.layers. [bsuttor]

0.1b5 (2015-01-06)

  • Fix name of upgrade step profile. [bsuttor]

0.1b4 (2015-01-06)

0.1b3 (2014-08-26)

0.1b2 (2014-08-21)

  • Fix an indentation error. [bsuttor]

  • Add collective_geo_styles indexer for dexterty content. [bsuttor]

  • Prevent attribute error for popup content. [bsuttor]

0.1b1 (2014-08-07)

  • Initial release. [bsuttor]

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

collective.geo.leaflet-0.2.4.tar.gz (28.4 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page