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.5 (2017-04-11)

  • Add image and address into geojson popup if values are in geojson properties. [bsuttor]

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.

Filename, size & hash SHA256 hash help File type Python version Upload date
collective.geo.leaflet-0.2.5.tar.gz (28.6 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page