Fork me on GitHub

Plugin leaflet

Introduction

Ce plugin sert à utiliser des cartes leaflet: http://leafletjs.com/

Utilisation

Le plugin fournit les fichiers du cœur de leaflet et de leaflet.markerkcluster dans js/plugins/leaflet/leaflet. Il ajoute quelques icônes de couleur (rouge, vert, jaune) en plus de l'icône bleue par défaut de leaflet. Il inclut aussi la bibliothèque proj4js et le plugin esri-leaflet.

Dans sa version actuelle, il n'intervient pas dans l'écriture du HTML/javascript, il fournit seulement des fonctionnalités coté serveur. L'utilisateur doit intégrer la carte dans sa page lui-même.

Icones

Le mécanisme principal pour choisir des icône est de créer un bean spring "leaflet-icon-provider-XXX" qui implémente l'interface fr.paris.lutece.plugins.leaflet.service.IIconProvider. L'implémentation doit retourner un nom d'icône. Le code java générant la page peut alors appeler la fonction fr.paris.lutece.plugins.leaflet.service.IconService.getIcon() pour obtenir un nom d'icône pour la ressource.

fr.paris.lutece.plugins.leaflet.service.IconService.getList() renvoie la liste des icônes disponibles, ce qui permet de faire des interfaces utilisateur permettant de choisir l'icône. Pour ajouter des icônes à cette liste, il faut insérer une valeur dans le datastore de la forme ('leaflet.icon.icons.ICON_NAME.installed', 'true').

Popups

Le mécanisme principal pour obtenir des popups est de créer un bean spring "leaflet-rest-popup-provider-XXX" qui implémente l'interface fr.paris.lutece.plugins.leaflet.rest.service.IPopupContentProvider. L'implémentation doit produire des fragment d'html. Ils seront accessibles automatiquement à l'URL rest/leaflet/popup/{XXX}/{docid}/{code} et peuvent être chargés dynamiquement quand l'utilisateur clique sur le marqueur en AJAX.

Les headers CORS peuvent être activés avec les propriétés suivantes:

  • leaflet.cors.enabled (default false)
  • leaflet.cors.origin (default *)
  • leaflet.cors.methods (default GET, POST, DELETE, PUT)