¿Cómo crear un mapa de imagen en JavaScript?

Un mapa de imagen no es más que una imagen que se divide en varios puntos de acceso y cada punto de acceso lo llevará a un archivo diferente. Los puntos de acceso no son más que áreas en las que se puede hacer clic que creamos en una imagen usando la etiqueta <area> . Este tipo de mapa se denomina mapa de imagen del lado del cliente, ya que el mapa está incrustado en el propio HTML.

Enfoque: a  continuación se muestra la implementación paso a paso de Cómo crear un mapa de imágenes en JavaScript.

Paso 1: El primer paso es insertar una imagen usando la etiqueta <img> . Aquí usaremos un atributo adicional » usemap «. El valor del mapa de uso debe comenzar con la etiqueta ‘#’ seguida del nombre del mapa como se escribe a continuación.

Sintaxis:

<img src="map1.jpg" alt="Cocktails" 
    usemap="#mymap" width="600" height="400">

Paso 2: luego creamos un mapa de imagen usando la etiqueta <mapa>. Esto crea un mapa vinculado a la imagen usando el atributo de nombre requerido. El valor del atributo de nombre debe ser el mismo que se indica en el atributo usemap de la etiqueta <img>.

Sintaxis:

<map name="mymap">

Paso 3: Las diferentes áreas en las que se puede hacer clic se crean usando la etiqueta <area> . Debemos estar definiendo la forma del área. Las diferentes formas son rectángulo, círculo y polígono. También se deben dar las coordenadas del área y href es el enlace que se abrirá cuando el usuario haga clic en el área.

Sintaxis:

<area shape="rect" coords="x,y,x,y" href="">
<area shape="circle" coords="x,y,r" href="">
<area shape="poly" coords="" href="">

Paso 4: ahora para encontrar la coordenada de una imagen.

  • La imagen del rectángulo tendrá las coordenadas x1,y1,x2,y2 donde x1,y1 son las coordenadas de la esquina superior izquierda y x2,y2 son las coordenadas de la esquina inferior derecha como se muestra en la imagen.
  • La imagen del círculo tendrá las coordenadas x,y,r donde x,y son las coordenadas del centro del círculo y r es el radio del círculo.
  • La imagen del polígono tendrá las coordenadas x1,y1,x2,y2,x3,y3,x4,y4,,……. donde x,y define las coordenadas de una de las esquinas de la imagen como se muestra en la imagen.

Ejemplo 1: En este ejemplo, simplemente crearemos el mapa de imágenes de un rectángulo y un círculo de imágenes.

HTML

<!DOCTYPE html>
<html>
  <body>
    <img
      src=
"https://media.geeksforgeeks.org/wp-content/uploads/20210824153314/imagemap1-211x300.png"
      alt="Cocktails"
      usemap="#mymap"
      width="400"
      height="500"/>
    <map name="mymap">
      <area
        shape="rect"
        coords="167,22,380,113"
        alt="Write"
        href="https://write.geeksforgeeks.org/"
        onmouseover="myFunction('Write for Us!!')"
        onmouseout="myFunction('')"/>
      <area
        shape="rect"
        coords="148,423,382,500"
        alt="Practice"
        href="https://practice.geeksforgeeks.org/"
        onmouseover="myFunction('Practice and Learn')"
        onmouseout="myFunction('')"/>
      <area
        shape="circle"
        coords="115,260,40"
        alt="IDE"
        href="https://ide.geeksforgeeks.org/"
        onmouseover="myFunction('IDE')"
        onmouseout="myFunction('')"/>
    </map>
    <h1 id="info"></h1>
    <script>
      function myFunction(name) {
        document.getElementById("info").innerHTML = name;
      }
    </script>
  </body>
</html>

Producción:

 

Ejemplo 2: En este ejemplo, estamos considerando la porción de color amarillo de la imagen como un polígono.

HTML

<!DOCTYPE html>
<html>
  <body>
    <img
      src=
"https://media.geeksforgeeks.org/wp-content/uploads/20210824153724/imagemap2-300x179.png"
      alt="Polygon"
      usemap="#map1"
      width="600"
      height="433"/>
    <map name="map1">
      <area
        shape="poly"
        coords="152,244,160,180,251,133,368,123,495,117,551,185,
                467,278,396,303,311,298,230,292,169,268"
        alt="Polygon"
        href="https://www.geeksforgeeks.org/"
        onmouseover="myFunction('A Computer Science portal for geeks. 
                     It contains well written, well thought and well 
                     explained computer science and programming
                     articles')"
        onmouseout="myFunction('')"
      />
    </map>
    <h1 id="info"></h1>
    <script>
      function myFunction(name) {
        document.getElementById("info").innerHTML = name;
      }
    </script>
  </body>
</html>

Producción:

Publicación traducida automáticamente

Artículo escrito por namaldesign y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *