La Etiqueta MAP

Define un mapa de imagen que asocia áreas clickeables en una imagen con enlaces o acciones.
La etiqueta <map>
define un mapa de imagen que asocia áreas clickeables en una imagen con enlaces o acciones. Funciona junto con:
-
<img>
: La imagen base (usando el atributousemap
). -
<area>
: Define las regiones clickeables dentro del mapa.
Sintaxis básica
<img src="imagen.jpg" alt="Descripción" usemap="#nombre-mapa"> <map name="nombre-mapa"> <area shape="forma" coords="coordenadas" href="enlace" alt="Descripción"> <!-- Más áreas --> </map>
Paso a paso
Preparar la imagen
Usa una imagen en formato JPG, PNG o SVG. Ejemplo:
<img src="planeta-tierra.jpg" alt="Mapa del planeta Tierra" usemap="#mapaTierra">
Crear el <map>
con <area>
Define las áreas clickeables usando coordenadas. Tipos de formas (shape
):
-
rect
: Rectángulo (coordenadas:x1,y1,x2,y2
). -
circle
: Círculo (coordenadas:centro-x,centro-y,radio
). -
poly
: Polígono (coordenadas:x1,y1,x2,y2,...,xn,yn
).
Ejemplo:
<map name="mapaTierra"> <!-- Área rectangular (América del Norte) --> <area shape="rect" coords="100,50,300,200" href="america-norte.html" alt="América del Norte"> <!-- Área circular (Europa) --> <area shape="circle" coords="400,150,50" href="europa.html" alt="Europa"> <!-- Área poligonal (Asia) --> <area shape="poly" coords="500,80,600,120,550,200" href="asia.html" alt="Asia"> </map>
Cómo obtener las coordenadas
-
Herramientas en línea:
Usa generadores de mapas como ImageMap.net o plugins para editores gráficos (Photoshop, GIMP). -
Cálculo manual:
-
Abre la imagen en un editor y anota las coordenadas (ej: (x=100, y=50)).
-
El punto (0,0) es la esquina superior izquierda.
-
Ejemplo visual
Supongamos que tenemos esta imagen:
<img src="mapa.png" alt="Mapa interactivo" usemap="#mapaEjemplo"> <map name="mapaEjemplo"> <!-- Zona 1 (Rectángulo verde) --> <area shape="rect" coords="50,50,200,150" href="zona1.html" alt="Zona Verde" title="Zona Verde"> <!-- Zona 2 (Círculo azul) --> <area shape="circle" coords="350,100,40" href="zona2.html" alt="Zona Azul" title="Zona Azul"> <!-- Zona 3 (Triángulo rojo) --> <area shape="poly" coords="500,50,600,50,550,150" href="zona3.html" alt="Zona Roja" title="Zona Roja"> </map>
Mejorar la experiencia de usuario
Estilos CSS con hover:
Usa JavaScript o la pseudoclase :hover
para resaltar áreas (requiere agregar IDs a las áreas):
area:hover { cursor: pointer; }
Tooltips con title
:
Agrega el atributo title
a <area>
para mostrar un mensaje al pasar el mouse:
<area ... title="Haz clic para ver detalles">
Errores comunes
-
Coordenadas incorrectas:
Asegúrate de que las coordenadas no excedan las dimensiones de la imagen. -
Olvidar el
name
en<map>
ousemap
en<img>
:
El nombre del mapa en<map name="...">
debe coincidir con#nombre
enusemap
. -
Ignorar la accesibilidad:
Siempre incluye el atributoalt
en<area>
.
Mejores prácticas
-
Prueba las coordenadas:
Usa validadores de mapas o herramientas como MapChecker. -
Optimiza para móviles:
Los mapas de imágenes no son responsivos por defecto. Usa bibliotecas como ImageMapster o reemplázalos con SVG en diseños modernos. -
Usa SVG como alternativa:
Para mapas complejos y responsivos, considera usar SVG con<a>
o<rect>
.
Ejemplo avanzado: Mapa con hover
<img src="mapa.png" alt="Mapa interactivo" usemap="#mapaEjemplo" id="imagenMapa"> <map name="mapaEjemplo"> <area shape="rect" coords="50,50,200,150" href="#" alt="Zona 1"
onmouseover="resaltarZona('zona1')" onmouseout="quitarResaltado()"> </map> <script> function resaltarZona(zona) { document.getElementById('imagenMapa').style.border = "3px solid red"; } function quitarResaltado() { document.getElementById('imagenMapa').style.border = "none"; } </script>
Casos de uso reales
-
Mapas geográficos interactivos (países, regiones).
-
Diagramas técnicos (partes de una máquina).
-
Menús visuales (restaurantes, tiendas en línea).
Con este tutorial, podrás crear mapas de imágenes funcionales y accesibles. Aunque es una tecnología clásica, sigue siendo útil en contextos específicos. ¡Experimenta y combínala con CSS/JS para mejores resultados! ????