Browse Source

Depuis Leaflet 1.0.0 il est possible simplement d'ajouter des tooltips sur les points et autres.

On ajoute une option aux cartes "tooltip=oui"
svn/root/tags/v4.47.18
kent1@arscenic.info 5 years ago
parent
commit
fb3223cba3
  1. 8
      css/leaflet_nodirection.css
  2. 14
      javascript/leaflet.gis.js
  3. 1
      lang/gis_fr.php
  4. 2
      modeles/carte_gis.html
  5. 8
      modeles/carte_gis.yaml
  6. 2
      paquet.xml

8
css/leaflet_nodirection.css

@ -16,4 +16,10 @@
left: 0;
top: 0;
right:auto;
}
}
.leaflet-tooltip {
max-width:30em;
overflow:hidden;
text-overflow:ellipsis;
}

14
javascript/leaflet.gis.js

@ -19,6 +19,7 @@ L.Map.Gis = L.Map.extend({
layersControl: false,
layersControlOptions: {},
noControl: false,
tooltip: false,
cluster: false,
clusterOptions: {
disableClusteringAtZoom: 0,
@ -169,24 +170,33 @@ L.Map.Gis = L.Map.extend({
(this.options.langue && (feature.properties['title_'+this.options.langue] || feature.properties['description_'+this.options.langue])))) {
var popupContent = '',
popupOptions = '',
tooltipContent = false,
description_ok = false;
if (this.options.langue) {
langue = this.options.langue;
if (feature.properties['title_'+langue]) {
tooltipContent = feature.properties['title_'+langue];
popupContent = '<strong class="title">' + feature.properties['title_'+langue] + '</strong>';
} else if (feature.properties.title)
} else if (feature.properties.title) {
tooltipContent = feature.properties.title;
popupContent = '<strong class="title">' + feature.properties.title + '</strong>';
}
if (feature.properties['description_'+langue]) {
popupContent = popupContent + feature.properties['description_'+langue];
description_ok = true;
}
} else if(feature.properties.title)
} else if(feature.properties.title) {
tooltipContent = feature.properties.title;
popupContent = '<strong class="title">' + feature.properties.title + '</strong>';
}
if (!description_ok && feature.properties.description)
popupContent = popupContent + feature.properties.description;
if (feature.properties.popup_options)
popupOptions = feature.properties.popup_options;
layer.bindPopup(popupContent,popupOptions);
if (this.options.tooltip && tooltipContent) {
layer.bindTooltip(tooltipContent).openTooltip();
}
}
},

1
lang/gis_fr.php

@ -122,6 +122,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'label_inserer_modele_points' => 'Cacher les points',
'label_inserer_modele_rubriques' => 'liés aux rubriques',
'label_inserer_modele_sites' => 'liés aux sites',
'label_inserer_modele_tooltip' => 'Afficher un tooltip au survol des points',
'label_inserer_modele_titre_carte' => 'Titre de la carte',
'label_opacity' => 'Opacité',
'label_pays' => 'Pays',

2
modeles/carte_gis.html

@ -40,6 +40,7 @@ Parametres possibles :
- objets = gis type d'objets à afficher (fichier json/gis_xx qui génère la source de donnees)
- limit|limite = 500 nombre max de marqueurs à afficher, 500 par defaut
- langue = null langue des objets à récupérer (utile pour les multis notamment)
- tooltip = oui affiche un tooltip sur les points
- kml = 12 kml à superposer à la carte (id_document ou url ou liste d'url)
- gpx = 12 gpx à superposer à la carte (id_document ou url ou liste d'url)
- geojson = 12 geojson à superposer à la carte (id_document ou url ou liste d'url)
@ -134,6 +135,7 @@ var jQgisloader;
description: (#ENV{description}|?{#ENV{description},''}|trim|json_encode)][,
icone: (#ENV{icone}|?{#ENV{icone},''}|trim|json_encode)]
},
tooltip: [(#ENV{tooltip}|=={oui}|?{true,false})],
cluster: [(#ENV{cluster}|=={oui}|?{true,false})],
clusterOptions: {
disableClusteringAtZoom: [(#ENV{clusterMaxZoom,0})],

8
modeles/carte_gis.yaml

@ -227,6 +227,14 @@ parametres:
defaut: ''
valeur_oui: 'non'
valeur_non: ''
-
saisie: 'case'
options:
nom: 'tooltip'
label_case: <:gis:label_inserer_modele_tooltip:>
defaut: ''
valeur_oui: 'oui'
valeur_non: ''
-
saisie: 'case'
options:

2
paquet.xml

@ -1,7 +1,7 @@
<paquet
prefix="gis"
categorie="divers"
version="4.44.3"
version="4.44.4"
schema="2.1.0"
etat="stable"
compatibilite="[3.0.0;3.2.*]"

Loading…
Cancel
Save