# Infobulles

Les infobulles permettent d’afficher des informations contextuelles sur les entités cliquées ou pointées sur la carte. Ces informations peuvent inclure du texte, des valeurs d’attributs, des liens hypertextes, des images, etc.

Vous pouvez configurer précisément les données à afficher dans les infobulles pour chaque couche.

La section **Infobulle**, accessible via l’icône <img src="https://1484831130-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrPLLbWoaAYyK9HykpM0p%2Fuploads%2F50zQtTENSnDAN9vSKDKG%2Fstudio-couche-infobulle.png?alt=media&#x26;token=17dff4d5-1209-4cd2-b2a7-43e0956420ae" alt="" data-size="line">, vous permet de définir le contenu et les paramètres d’affichage des infobulles.

<figure><img src="https://1484831130-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrPLLbWoaAYyK9HykpM0p%2Fuploads%2FZMxcl82HhV3Qnpg3Wi05%2Fclip010FR.png?alt=media&#x26;token=ac5bedb9-e8ac-4934-af4e-13d90181698f" alt=""><figcaption></figcaption></figure>

<table data-header-hidden><thead><tr><th width="58" align="center"></th><th></th></tr></thead><tbody><tr><td align="center">1</td><td>Cochez cette case pour <strong>activer l'affichage</strong> des infobulles pour la couche dans les applications JMap NG.<br>Si la couche provient d'une <a href="proprietes">source de données WMS/WMTS</a> et des informations sur les entités sont disponibles pour être affichées dans une infobulle, cochez cette case. Vous n'avez pas besoin de configurer le contenu de l'infobulle.</td></tr><tr><td align="center">2</td><td>Fenêtre pour écrire le <strong>contenu</strong> de l'infobulle.<br>La section <a href="#contenu-de-linfobulle">Contenu de l'infobulle</a> offre de détails sur le sujet. </td></tr><tr><td align="center">3</td><td><strong>Attributs</strong> disponibles pour l'infobulle.<br>Il s'agit des attributs de la couche que vous cochez dans la section <a href="proprietes">Propriétés</a>.</td></tr><tr><td align="center">4</td><td><strong>Fonctions</strong> disponibles pour l'infobulle. <br>La section <a href="#contenu-de-linfobulle">Contenu de l'infobulle</a> offre plus de détails sur le sujet. </td></tr><tr><td align="center">5</td><td><strong>Niveaux de zoom</strong> <br>Plage de niveaux de zoom à laquelle les infobulles sont affichées.<br>Sélectionnez la plage en glissant les indicateurs sur la barre ou en inscrivant les seuils minimal et maximal de zoom de la plage.</td></tr></tbody></table>

## Contenu de l'infobulle

Le contenu est défini à l’aide d’un champ texte, dans lequel vous pouvez combiner du texte statique avec des éléments dynamiques appelés *fonctions*. Lors de l'affichage, ces fonctions sont exécutées et remplacées par leur résultat.

Voici les fonctions disponibles pour la configuration des infobulles :

<table data-header-hidden><thead><tr><th width="255"></th><th valign="top"></th></tr></thead><tbody><tr><td>centroid()</td><td valign="top">Cette fonction est remplacée par la coordonnée du centroïde géométrique de la géométrie de l'entité.</td></tr><tr><td>date()</td><td valign="top">Cette fonction est remplacée par la date actuelle.</td></tr><tr><td>elementId()</td><td valign="top">Cette fonction est remplacée par l’identifiant de l'entité.</td></tr><tr><td>encode(<em>attrib</em>, <em>encoding</em>)<br><em>attrib</em> : le nom de l’attribut à encoder <br><em>encoding</em> : le nom de l’encodage</td><td valign="top"><p>Cette fonction est remplacée par la valeur de l’attribut <em>attrib</em>, une fois encodée avec l’encodage de caractères spécifié (UTF-8, CP437, ISO 8859-1, etc).<br><strong>Exemple</strong></p><p><code>encode(name, UTF-8)</code></p><p>Remplacée par la valeur de l’attribut <em>name</em> encodée en caractères UTF-8.</p></td></tr><tr><td>ev(<em>attrib</em>)<br><em>attrib</em> : le nom d’un attribut</td><td valign="top"><p>Cette fonction est remplacée par la valeur de l’attribut lié dont le nom est passé en paramètre, pour l'entité pointée. <br><strong>Exemple</strong><br><code>ev(id)</code> </p><p>Remplacée par la valeur de l’attribut <em>id</em> de l'entité.</p></td></tr><tr><td>ev(<em>attrib, useValueDomain</em>)<br><em>attrib</em> : le nom d’un attribut<br><em>useValueDomain</em> : le domaine de valeurs de l'attribut<br></td><td valign="top"><p>Cette fonction est remplacée par l’étiquette du <a href="../../../integrer-les-donnees-sources-de-donnees/gerer-les-sources-de-donnees/afficher-et-editer-les-informations-de-la-source-de-donnees/attributs#domaine-de-valeurs">domaine de valeurs</a> pour la valeur de l'attribut <em>attrib</em>, pour l'entité pointée, lorsque la valeur <em>true</em> est indiquée pour <em>useValueDomain.</em> <br><strong>Exemple</strong><br><code>ev(categorie, true)</code><br>Remplacée par l'étiquette du <a href="../../../integrer-les-donnees-sources-de-donnees/gerer-les-sources-de-donnees/afficher-et-editer-les-informations-de-la-source-de-donnees/attributs#domaine-de-valeurs">domaine de valeurs</a> pour la valeur de l’attribut <em>categorie</em> de l’entité.</p><p><br>Si la valeur <em>false</em> est indiquée pour <em>useValueDomain</em>, la fonction est remplacée par la valeur de l’attribut <em>attrib</em> pour l'entité pointée. </p><p><strong>Exemple</strong><br><code>ev(categorie, false)</code> ou <code>ev(categorie)</code><br>Remplacée par la valeur de l’attribut <em>categorie</em> de l’entité.</p></td></tr><tr><td>format(<em>attrib</em>, <em>format</em>)<br><em>attrib</em> : le nom d’un attribut de type date ou numérique <br><em>format</em> : le format de date ou de nombre souhaité</td><td valign="top"><p>Cette fonction est remplacée par une date ou un nombre formaté selon un format précis.<br><strong>Exemple</strong></p><p><code>format(date_insp, dd/MM/yyyy)</code></p><p>où <em>date_insp</em> est le nom d’un attribut contenant une date et <em>dd/MM/yyyy</em> est le format de date souhaité, tel qu’indiqué dans la documentation de la classe Java <a href="http://java.sun.com/javase/6/docs/api/java/text/SimpleDateFormat.html">java.text.SimpleDateFormat</a>.</p><p><strong>Exemple</strong></p><p><code>format(attrib, ##0,00)</code></p><p>où <em>attrib</em> est le nom d’un attribut contenant un nombre et <em>##0,00</em> est le format de nombre souhaité, tel qu’indiqué dans la documentation de la classe Java <a href="https://docs.oracle.com/javase/6/docs/api/java/text/DecimalFormat.html">java.text.DecimalFormat</a>.</p></td></tr><tr><td>ifNull(<em>attrib</em>, <em>value)</em><br><em>attrib</em> : le nom de l’attribut à tester <br><em>value</em> : la valeur à afficher si attrib est nulle</td><td valign="top"><p>Cette fonction est remplacée par la valeur <em>value</em> seulement si la valeur de l’attribut <em>attrib</em> est nulle. <br>Si la valeur de l’attribut est non nulle, rien n’est affiché.<br><strong>Exemple</strong></p><p><code>ifNull(temp, N/A)</code></p><p>Affiche N/A si la valeur de l’attribut <em>temp</em> est nulle.</p><p><strong>Exemple</strong></p><p><code>ifNull(attrib_a, attrib_b)</code></p><p>Affiche la valeur de l’attribut <em>attrib_b</em> si la valeur de <em>attrib_a</em> est nulle.</p></td></tr><tr><td>ifNotNull(<em>attrib</em>, <em>value</em>)<br><em>attrib</em> : le nom de l’attribut à tester <br><em>value</em> : la valeur à afficher si attrib est non nulle</td><td valign="top"><p>Remplacée par la valeur <em>value</em> seulement si la valeur de l’attribut <em>attrib</em> est non nulle.<br>Si la valeur de l’attribut est nulle, rien n’est affiché.<br><strong>Exemple</strong></p><p><code>ifNotNull(land_value, $)</code></p><p>Affiche $ seulement si la valeur de <em>land_value</em> est non nulle.</p></td></tr><tr><td>lineLength()</td><td valign="top">Cette fonction est remplacée par la longueur d’une entité pointée de type linéaire.</td></tr><tr><td>polygonArea()</td><td valign="top">Cette fonction est remplacée par l’aire d’une entité pointée de type polygonal.</td></tr><tr><td>projectName()</td><td valign="top">Cette fonction est remplacée par le nom du projet en cours.</td></tr><tr><td><p>subString(<em>attrib</em>, <em>startIx</em>, <em>endIx</em>)<br><em>attrib</em> : le nom de l’attribut pour lequel on veut extraire une partie </p><p><em>startIx</em> : position de départ dans la chaîne de caractère</p><p>s<em>endIx</em> : position de fin dans la chaîne de caractères</p></td><td valign="top"><p>Cette fonction est remplacée par une partie de la valeur (comme chaîne de caractères) de l’attribut <em>attrib</em>, entre la position <em>startIx</em> et la position <em>endIx</em>.</p><p><strong>Exemple</strong></p><p><code>subString(name, 0, 5)</code></p><p>Remplacée par les 5 premiers caractères de la valeur de l’attribut <em>name</em>. Si cette dernière est <em>Montréal</em>, alors l’infobulle affichera <em>Montr</em>.</p></td></tr><tr><td>userName()</td><td valign="top">Cette fonction est remplacée par le code utilisateur de l’utilisateur actuellement connecté.</td></tr><tr><td>attachment()</td><td valign="top"><p>Cette fonction est remplacée par les documents qui sont joints à l'élément. L'utilisateur de l’application JMap NG peut afficher le document lorsqu'il clique dessus.</p><p>Voir la section <a href="../../integrer-les-donnees-sources-de-donnees/gerer-les-sources-de-donnees/pieces-jointes-des-sources-de-donnees">Pièces jointes des sources de données</a> pour plus de détails.</p></td></tr></tbody></table>

Les attributs pouvant être utilisés dans les fonctions sont affichés dans la section **Attributs**.

**Pour configurer le contenu de l'infobulle** :&#x20;

1. Saisissez le texte statique.
2. Pour insérer du contenu dynamique, placez le curseur à l’endroit souhaité dans le champ de contenu.
3. Cliquez sur la fonction à insérer. Elle s’ajoute automatiquement à l’endroit sélectionné, et un menu proposant les attributs compatibles s’affiche.
4. Sélectionnez un attribut, ajoutez une valeur si nécessaire.
5. Cliquez sur ![](https://1484831130-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrPLLbWoaAYyK9HykpM0p%2Fuploads%2Fkpr7NNixlkRVWC0veevr%2Fstudio-ok.png?alt=media\&token=07e54c32-f987-4fc1-9aff-fab58ec47141) pour enregistrer le contenu de l’infobulle.
