Créer une carte interactive en HTML (carte cliquable)

Dans ce nouveau tutoriel, nous allons apprendre à réaliser une carte interactive ou dynamique, c’est-à-dire une carte avec des portions cliquables en HTML grâce aux éléments map et area.

Nous allons ici créer une carte interactive des régions de France. Chaque région de la carte devra être cliquable indépendamment des autres.

Pour cela, nous allons déjà avoir besoin d’une carte de France sous forme d’image avec les différentes régions dessinées dessus. Je vous propose donc de télécharger l’image ci-dessous :

Carte de france des régions pour création de carte interactive HTML

 

Les éléments HTML map et area

Ensuite, nous allons devoir utiliser les éléments map et area. L’élément map permet de créer une carte-image. Cet élément va nous permettre de définir des portions d’image qui vont pouvoir être cliquables indépendamment les unes des autres.

Chaque partie cliquable de la carte image va être définie par un élément area. Les différents éléments area vont être imbriqués dans notre élément map.

L’élément area supporte de nombreux attributs. 4 vont particulièrement nous intéresser ici : les attributs shape, coords, href et alt.

Le premier attribut de l’élément area à connaitre est l’attribut shape. Cet attribut nous permet de spécifier la forme représentée par l’élément area. Les valeurs supportées sont rect qui définit une forme rectangulaire, circle qui définit une forme circulaire, poly qui définit une forme polygonale et default qui représente la partie de l’image non définie par d’autres éléments area.

L’attribut coords permet de spécifier les coordonnées de la portion d’image représentée par l’élément area courant. Les valeurs qu’on va pouvoir passer à cet attribut dépendent de la valeur passée à l’attribut shape.

Si shape = rect, nous allons passer 4 valeurs à coords. Les deux premières valeurs représentent les coordonnées du coin supérieur gauche du rectangle tandis que les deux dernières représentent les coordonnées du coin inférieur droit.

Si shape = circle, nous allons passer 3 valeurs à coords. Les deux premières valeurs représentent les coordonnées du centre du cercle tandis que la troisième représente le rayon du cercle.

Si shape = poly, nous allons pouvoir passer autant de valeurs qu’on le souhaite à coords. Chaque paire de valeurs va définir les coordonnées d’un bord du polygone.

Si shape = default, il n’y a pas besoin de préciser d’attribut coords à l’élément area puisque shape = default indique que l’élément area recouvre toute la partie de l’image non recouverte par les autres éléments area.

L’attribut href va nous permettre de spécifier un lien hypertexte pour chaque élément area et va donc nous permettre de rendre notre carte “interactive”.

Si nos éléments area disposent d’attributs href, alors il faudra également ajouter un attribut alt qui va nous permettre de spécifier un texte descriptif alternatif la chaque zone délimitée par l’élément area.

 

Exemple de création d’une carte de France interactive des régions avec map et area

Pour créer notre carte, nous allons utiliser shape = poly puisque les régions ont des formes géométriques non triviales.

Nous allons “lier” notre image à notre élément map grâce à des attributs usemap pour l’image et name pour l’élément map.

Nous n’allons pas cartographier précisément chaque région car cela n’aurait aucun intérêt mais allons simplement nous contenter de rendre quelques régions cliquables.

La seule chose à savoir ici est que le bord supérieur gauche de notre image est situé en 0,0. Nous allons indiquer les coordonnées par rapport à cela.

Pour connaitre la surface prise par une région sur notre image, il existe plusieurs solutions : soit on utilise un logiciel qui nous permet de quadriller notre image et on calcule les différents coins de nos polygones, soit on utilise un outil en ligne qui nous permet de calculer automatiquement les coordonnées de différents points comme le site image-map.net

Une fois qu’on a les coordonnées, le code est très facile à deviner :

Création carte de france département région interactive en HTML

Résultat création carte de france département région interactive en HTML

Laisser un commentaire