You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Les options du LayerSwitcher permettent de personnaliser l’apparence, le comportement, les fonctionnalités et les actions disponibles pour chaque couche, afin d’adapter le widget à vos besoins cartographiques et ergonomiques.
91
+
92
+
## Voici un exemple complet d’utilisation du contrôle **LayerSwitcher** avec OpenLayers
- Ajout de métadonnées (titre, description, verrouillage),
202
+
- Activation des options avancées (édition, N&B, tooltips, outils personnalisés),
203
+
- Gestion des événements du LayerSwitcher,
204
+
- Utilisation d’outils avancés avec ou sans callback.
205
+
206
+
Cet exemple est prêt à l’emploi pour tester toutes les fonctionnalités principales du LayerSwitcher.
207
+
208
+
## Voici une explication sur l’objet `layerOptions` dans le LayerSwitcher
209
+
210
+
### Fonctionnement de l’objet `layerOptions`
211
+
212
+
L’objet `layerOptions` est une structure centrale utilisée en interne par le LayerSwitcher pour stocker toutes les informations et états associés à chaque couche affichée dans le widget.
213
+
214
+
### Où est-il créé ?
215
+
`layerOptions` est construit dans la méthode privée `_createLayerDiv(layerOptions)` et lors de l’ajout d’une couche via `addLayer` ou `_addMapLayers`.
216
+
Il regroupe à la fois :
217
+
- les propriétés de la couche OpenLayers (`layer`, `id`, `opacity`, `visibility`, etc.),
218
+
- les métadonnées de configuration (titre, description, légendes, etc.),
219
+
- les états d’interface (editable, grayable, inRange, locked, etc.),
220
+
- les références DOM (div associée à la couche).
221
+
222
+
### Principaux champs de `layerOptions` :
223
+
224
+
-**layer** : la référence à l’objet `ol.layer.Layer` concerné.
225
+
-**id** : identifiant unique de la couche dans le LayerSwitcher.
226
+
-**name, service, type** : informations complémentaires (souvent pour les couches Geoportail).
227
+
-**opacity, visibility, grayscale, locked** : états d’affichage de la couche.
228
+
-**inRange** : indique si la couche est visible dans la vue courante (zoom/emprise).
229
+
-**title, description** : informations affichées dans la liste et les tooltips.
230
+
-**legends, metadata, quicklookUrl** : ressources associées à la couche.
231
+
-**editable, grayable** : indique si la couche est éditable ou peut passer en N&B.
232
+
-**advancedTools** : liste des outils personnalisés à afficher pour la couche.
233
+
-**div** : référence à la div DOM représentant la couche dans le LayerSwitcher.
234
+
235
+
### Utilité
236
+
237
+
- Permet de centraliser toutes les informations nécessaires à l’affichage, à l’interaction et à la gestion de chaque couche dans le widget.
238
+
- Facilite la synchronisation entre l’état de la carte, la configuration utilisateur et l’interface graphique.
239
+
- Sert de point d’accès unique pour toutes les opérations (édition, suppression, changement d’opacité, etc.).
240
+
241
+
---
242
+
243
+
**Résumé :**
244
+
`layerOptions` est l’objet de référence pour chaque couche dans le LayerSwitcher : il regroupe toutes les données, états et références nécessaires à la gestion et à l’affichage de la couche dans le widget.
245
+
71
246
## Voici une explication sur la notion de couches « grisées » (hors plage de visibilité, via `isInRange`) dans la classe `LayerSwitcher`
72
247
73
248
### Couches grisées (isInRange)
@@ -230,7 +405,7 @@ const layerSwitcher = new LayerSwitcher({
230
405
**Résumé :**
231
406
Le mode N&B dans le LayerSwitcher permet d’afficher certaines couches en niveaux de gris, offrant ainsi une meilleure lisibilité et une personnalisation avancée de la carte pour l’utilisateur.
232
407
233
-
## Voici une explication à ajouter à votre documentation concernant les **actions utilisateurs via l’option `advancedTools`** dans le LayerSwitcher
408
+
## Voici une explication concernant les **actions utilisateurs via l’option `advancedTools`** dans le LayerSwitcher
234
409
235
410
### Actions utilisateurs via l’option `advancedTools`
236
411
@@ -348,6 +523,21 @@ Voici quelques exemples concrets :
348
523
}
349
524
```
350
525
526
+
-**Bouton avec un icone dsfr**
527
+
Permet d'utiliser les icones du DSFR :
528
+
```javascript
529
+
{
530
+
label:'Exporter',
531
+
icon:'fr-icon-export',
532
+
cb: (e, instance, layer, options) => {
533
+
alert("Export de la couche : "+layer.get("title"));
534
+
},
535
+
styles: {
536
+
color:"blue"
537
+
}
538
+
}
539
+
```
540
+
351
541
Si l’option `cb` n’est pas renseignée dans un objet `advancedTools`, le bouton est tout de même affiché et, lors du clic, **un événement personnalisé est déclenché** par le LayerSwitcher (généralement `layerswitcher:custom`).
352
542
Cet événement contient les informations sur le bouton cliqué, la couche concernée, etc.
353
543
@@ -366,3 +556,49 @@ Cela permet de centraliser la gestion des actions non définies directement par
366
556
367
557
**Résumé :**
368
558
L’option `advancedTools` du LayerSwitcher permet d’ajouter facilement des boutons d’action personnalisés pour chaque couche, afin d’enrichir l’interface et de proposer des fonctionnalités avancées adaptées à vos besoins.
559
+
560
+
## Voici une explication détaillée du fonctionnement des **tooltips** dans le LayerSwitcher
561
+
562
+
---
563
+
564
+
### Fonctionnement des tooltips dans le LayerSwitcher
565
+
566
+
Le LayerSwitcher propose une option `allowTooltips` qui permet d’afficher des info-bulles (tooltips) sur les éléments de l’interface, afin d’améliorer l’ergonomie et l’accessibilité.
567
+
568
+
### Initialisation
569
+
570
+
- Lors de l’ajout du contrôle à la carte (`setMap`), si l’option `allowTooltips` est activée, le module `ToolTips` initialise un conteneur HTML dédié pour les info-bulles.
571
+
- Ce conteneur est un `<div>` positionné en absolu, stylisé pour ressembler à une info-bulle classique.
572
+
573
+
### Activation sur les éléments
574
+
575
+
- Chaque nom de couche du LayerSwitcher recoit un attribut `data-tooltip` contenant le texte à afficher.
576
+
- Le module `ToolTips` ajoute des écouteurs d’événements `mouseenter` et `mouseleave` sur ces éléments :
577
+
- Au survol (`mouseenter`), le contenu du tooltip est affiché près du curseur.
578
+
- À la sortie (`mouseleave`), le tooltip disparaît.
579
+
580
+
### Contenu des tooltips
581
+
582
+
- Pour le nom d’une couche, le tooltip affiche généralement le titre complet ou la description.
583
+
- Pour les couches hors plage ou verrouillées, un message spécifique explique la raison de l’état.
584
+
585
+
### Utilité
586
+
587
+
-**Accessibilité** : Les tooltips aident à comprendre la fonction de chaque élément, même sans documentation.
588
+
-**Aide contextuelle** : Ils fournissent des explications sur l’état ou l’action possible.
589
+
-**Ergonomie** : Ils évitent la surcharge visuelle tout en offrant une aide à la demande.
590
+
591
+
### Exemple d’activation
592
+
593
+
```javascript
594
+
constlayerSwitcher=newLayerSwitcher({
595
+
options: {
596
+
allowTooltips:true// Active l’affichage des tooltips
597
+
}
598
+
});
599
+
```
600
+
601
+
---
602
+
603
+
**Résumé :**
604
+
Les tooltips dans le LayerSwitcher sont des info-bulles contextuelles qui s’affichent au survol des éléments, facilitant la compréhension et l’utilisation du gestionnaire de couches, notamment pour les utilisateurs novices ou en situation de handicap.
0 commit comments