Introducción a los marcadores en Folium: íconos, colores y tooltips

Publicado por Andrea Navarro en

En este artículo veremos cómo crear y personalizar marcadores en mapas interactivos usando Folium Exploraremos qué es un marcador, cómo colocarlo en el mapa, cómo cambiar su ícono y color, agregar tooltips, ventanas emergentes (popup) e incluso usar íconos personalizados.

Marcadores en Folium

Un marcador en Folium es un punto visual que se coloca sobre un mapa para señalar una ubicación específica. Puede ser un ícono simple, un texto, una ventana emergente, o incluso un ícono personalizado. El marcador quedará fijo en el punto especificado del mapa y mantendrá su tamaño independientemente si se aumenta o disminuye el zoom.

Pueden usarse para indicar lugares físicos como oficinas, sucursales, monumentos históricos y estaciones de transporte o ubicaciones de sucesos o eventos como celebraciones, alertas y remarcadores en foliumportes meteorológicos. Son especialmente útiles cuando se quiere destacar información puntual sobre una ubicación específica y ofrecer detalles adicionales mediante ventanas emergentes o íconos personalizados.

Agregar marcadores en Folium

Para agregar un marcador a un mapa Folium se utiliza la clase Marker a la cual se le pasa como parámetro la ubicación geográfica (latitud y longitud). Finalmente se agrega el marcador creado al mapa utilizando el método add_to.

import folium

mapa = folium.Map(location = (-34.61, -68.32), zoom_start=5 )
folium.Marker(location=[-34.6, -58.4]).add_to(mapa)

Íconos

Folium permite personalizar tanto el color como la forma del ícono del marcador. Tener diferentes íconos permite distinguir categorías, estados o niveles de importancia de forma visual, facilitando la interpretación rápida del mapa. Los íconos son configurados utilizando la clase Icon.

Para seleccionar el ícono que se desea para el marcador se utilizar el parámetro icon igualado a la clase Icon de Folium. Este objeto permite seleccionar el nombre del ícono correspondiente.

import folium
from folium.map import Icon

mapa = folium.Map(location = (-34.61, -68.32), zoom_start=5 )
folium.Marker(location=[-34,-68], icon=Icon(icon="home")).add_to(mapa)
folium.Marker(location=[-34.52,-68.12],icon=Icon(icon="phone")).add_to(mapa)
folium.Marker(location=[-34.80,-68.90],icon=Icon(icon="fire")).add_to(mapa)

A continuación se listan algunos nombres comunes junto con algunos usos que se le pueden dar para facilitar la comprensión de las ubicaciones señaladas.

Ejemplos de íconos y su uso
Nombre (icon=)Descripción del íconoUso sugerido
info-signUn círculo con una letra «i» en el centroMostrar información general o ayuda contextual
homeUna casa estilizadaUbicación principal, punto de partida
cloudUna nubeDatos climáticos, condiciones atmosféricas
flagUna bandera ondeandoDestino, punto clave, alerta
starUna estrella de cinco puntasElementos destacados o favoritos
okUn check o tilde en un círculoConfirmado, disponible
removeUna «x» o cruz en un círculoError, fuera de servicio, eliminar
plusUn símbolo de suma («+»)Agregar elemento, expandir
minusUn símbolo de resta («–»)Reducir, eliminar
arrow-upFlecha apuntando hacia arribaDirección, tendencia ascendente
arrow-downFlecha apuntando hacia abajoDirección, tendencia descendente
arrow-leftFlecha apuntando a la izquierdaMovimiento, navegación
arrow-rightFlecha apuntando a la derechaMovimiento, navegación
heartUn corazón llenoLugares favoritos o marcados con afecto
cameraUna cámara fotográficaPunto panorámico, atractivo turístico
giftUn paquete envueltoEventos, promociones
glassUna copa o vasoRestaurantes, bares, lugares sociales
tree-coniferUn pinoParques, espacios verdes
tree-deciduousUn árbol frondosoZonas verdes, jardines
leafUna hojaEcología, naturaleza, agricultura
fireUna llamaIncendios, calor extremo, zonas de riesgo
tintUna gota de aguaHidrología, agua potable, lluvias
usdUn símbolo de dólarComercio, economía, ubicación financiera
educationUn birrete de graduaciónInstituciones educativas
phoneUn auricular telefónicoCentros de atención, contacto
envelopeUn sobre de cartaOficina postal, contacto
shopping-cartUn carrito de comprasTiendas, supermercados
roadUn camino o rutaInfraestructura vial, rutas
planeUn aviónAeropuertos, vuelos
globeUn globo terráqueoDatos globales, ubicación internacional

También es posible configurar el color del ícono utilizando el parámetro color para definir el color de fondo y icon_color para el color del ícono.

import folium
from folium.map import Icon

mapa = folium.Map(location = (-34.61, -68.32), zoom_start=5 )
folium.Marker(location=[-34,-68], icon=Icon(icon="home", color="black", icon_color= "orange")).add_to(mapa)
folium.Marker(location=[-34.52,-68.12],icon=Icon(icon="phone", color="blue", icon_color= "darkgreen")).add_to(mapa)
folium.Marker(location=[-34.80,-68.90],icon=Icon(icon="fire", color="gray", icon_color= "red")).add_to(mapa)
colores en los marcadores en folium

Texto

El parámetro tooltip en Folium permite mostrar un texto emergente cuando el usuario pasa el cursor sobre un marcador, sin necesidad de hacer clic. Es útil para brindar información rápida o etiquetas descriptivas sin sobrecargar el mapa con popups permanentes.

import folium
from folium.map import Icon

mapa = folium.Map(location = (-34.61, -68.32), zoom_start=5 )
folium.Marker(location=[-34.52,-68.12],
              icon=Icon(icon="shopping-cart"),
              tooltip = "Mercado central (Productos regionales)"
              ).add_to(mapa)

Popups

El parámetro popup en Folium permite asociar una ventana emergente a un marcador, que se muestra cuando el usuario hace clic sobre él. Esta ventana puede contener texto simple, HTML o incluso visualizaciones más complejas. Es ideal para mostrar información detallada sobre la ubicación, como descripciones, enlaces o datos contextuales.

import folium
from folium.map import Icon

mapa = folium.Map(location = (-34.61, -68.32), zoom_start=5 )
folium.Marker(location=[-34.52,-68.12],
              icon=Icon(icon="shopping-cart"),
               popup ="Mercado Principal - San Martin 235"
              ).add_to(mapa)

Los popups permiten integrar código HTML de manera que es posible utilizar etiquetas para modificar su estilo.

mapa = folium.Map(location = (-34.61, -68.32), zoom_start=5 )
contenido = "<h2>Mercado Principal</h2> <br/> <b>Dirección:</b>San Martin 235 <br/><b>Teléfono:</b> 235993923"
folium.Marker(location=[-34.52,-68.12],
              icon=Icon(icon="shopping-cart"),
               popup = contenido
              ).add_to(mapa)
popup en marcadores en folium

Íconos personalizados

Folium permite usar íconos personalizados en lugar de los predeterminados, lo que brinda mayor flexibilidad visual. Para hacerlo, se utiliza la clase CustomIcon, que permite cargar una imagen propia (como un archivo .png o .jpg) y definir su tamaño. Esto es útil cuando se quiere representar tipos de ubicaciones con símbolos específicos, como logotipos, pictogramas o íconos temáticos adaptados al contenido del mapa. Este ícono luego es asignado a un marcador y es mostrado en el mapa.

import folium
from folium.features import CustomIcon

mapa = folium.Map(location = (-34.61, -68.32), zoom_start=5 )

icono = CustomIcon(
    icon_image='icono-juncotic.png',
    icon_size=(50, 50)     
)

folium.Marker(location=[-34.52,-68.12],
              icon=icono,
              ).add_to(mapa)
marcadores en folium con imagen personalizada

En este artículo hemos visto qué es un marcador en Folium y cómo colocarlo sobre un mapa. Aprendimos a personalizar su color e ícono, a mostrar información con popup y tooltip, y también a usar imágenes propias como íconos personalizados.

En el próximo artículo veremos cómo agrupar marcadores y organizarlos por categorías para mejorar la visualización cuando trabajamos con muchos puntos.


¿Preguntas? ¿Comentarios?

Si tenés dudas, o querés dejarnos tus comentarios y consultas, sumate al grupo de Telegram de la comunidad JuncoTIC!
¡Te esperamos!


Andrea Navarro

- Ingeniera en Informática - Docente universitaria - Investigadora