Evolution #1489
ferméPlusieurs membres dans une même commune
100%
Description
[ Dans Page Publique - Carte ]
Je ne me rends pas trop compte de la difficulté pour réaliser ce souhait...
Mais ce serait cool, de pouvoir visualiser le nombre d'adhérent d'une même commune avec par exemple un "+2" pour 2 membres à coté de la punaise sur la carte.
Car actuellement, seulement le dernier membre inscrit est visible.
Je trouve cette carte très visuelle pour connaitre l'impact de notre association sur les communes environnantes et très utile pour solliciter ses communes (aides financière, aides matériels, etc.) ;)
Fichiers
Mis à jour par Guillaume AGNIERAY il y a plus de 2 ans
- Fichier 0001-Use-leaflet.makercluster-to-group-markers-closes-148.patch 0001-Use-leaflet.makercluster-to-group-markers-closes-148.patch ajouté
Étant donné que le nom de l'adhérent et son pseudo sont affichés dans la popup, il serait effectivement utile de faire ainsi.
Heureusement ç'est réalisable facilement grâce à un plugin pour la librairie affichant la carte : http://leaflet.github.io/Leaflet.markercluster/
Voir le patch ci-joint.
En attendant que cette fonction soit intégrée au plugin, l'ajouter sur une installation existante (version 1.5.0) peut se faire assez facilement :
- Créer un dossier
leaflet-markercluster
dans le dossier webroot du plugin - Y mettre les 3 fichiers suivants qui se trouvent dans le dossier
dist
de cette archive : https://github.com/Leaflet/Leaflet.markercluster/archive/v1.1.0.zip
- leaflet.markercluster.js
- MarkerCluster.css
- MarkerCluster.Default.css
- Modifier le fichier
headers.tpl
dans le dossiertemplates
du plugin
Remplacer la dernière ligne{/if}
par :{else} <link rel="stylesheet" type="text/css" href="{path_for name="plugin_res" data=["plugin" => $module_id, "path" => "leaflet-markercluster/MarkerCluster.css"]}"/> <link rel="stylesheet" type="text/css" href="{path_for name="plugin_res" data=["plugin" => $module_id, "path" => "leaflet-markercluster/MarkerCluster.Default.css"]}"/> {/if}
- Modifier le fichier
common_scripts.tpl
dans le dossiertemplates
du plugin
Ajouter la ligne suivante à la ligne 4 ( avant<script type="text/javascript">
) :<script type="text/javascript" src="{path_for name="plugin_res" data=["plugin" => $module_id, "path" => "leaflet-markercluster/leaflet.markercluster.js"]}"></script>
- Modifier le fichier maps.tpl dans le dossier
templates
du plugin
Le plus simple est de remplacer intégralement le contenu de ce fichier par{extends file="page.tpl"} {block name="content"} <section> <div id="map"></div> </section> {include file='file:[maps]common_html.tpl'} {/block} {block name="javascripts"} {include file='file:[maps]common_scripts.tpl'} <script type="text/javascript"> var _mapsBinded = function(map) { var _markers = []; {foreach $list as $l} {if isset($l.company) and $l.company neq ''} {assign var=icon value='galetteProIcon'} {else} {assign var=icon value='galetteIcon'} {/if} _member = [{$l.lat}, {$l.lng}, {$icon}, '<p><strong>{$l.name|escape}</strong>{if $l.nickname neq ''} {_T string="aka" domain="maps" escape="js"} <em>{$l.nickname|escape}</em>{/if}{if isset($l.company)}<br/>{$l.company|escape}{/if}</p>']; _markers.push(_member); {/foreach} var _group = L.markerClusterGroup(); for (var i = 0; i < _markers.length; i++) { var _a = _markers[i]; var _title = _a[3]; var _icon = _a[2]; var _marker = L.marker(new L.LatLng(_a[0], _a[1]), { icon: _icon }); _marker.bindPopup(_title); _group.addLayer(_marker); } map.addLayer(_group).fitBounds( _group.getBounds(), { padding: [50, 50], maxZoom: 12 } ); } </script> {/block}
Mis à jour par Frederic CROZET il y a plus de 2 ans
Hello,
J'ai testé le patch avec la version galette v0.9.4.2 et cela fonctionne parfaitement!
Mis à jour par Guillaume AGNIERAY il y a plus de 2 ans
Petite correction sur les consignes pour une installation existante.
Le lien vers l'archive du plugin markercluster est obsolète.
La dernière version téléchargeable sur github est la suivante : https://github.com/Leaflet/Leaflet.markercluster/archive/v1.4.1.zip ;)
Mis à jour par Anonyme il y a plus de 2 ans
- Statut changé de Nouveau à Résolu
- % réalisé changé de 0 à 100
Appliqué par commit d1d7021410522fefed80bf09fe83bc73151658a7.