5

I am looking into drawing three different markers on a folium map: square, circle and star. The first two are done using BeautifyIcon plugins. I am having trouble to plot the star. I would like to draw only the star without the pin. Any suggestion?

import folium

# Make an empty map
m = folium.Map(location=[15, 0], tiles="OpenStreetMap", zoom_start=2)

# square marker
icon_square = folium.plugins.BeautifyIcon(
    icon_shape='rectangle-dot', 
    border_color='red', 
    border_width=10,
)
folium.Marker([50, -70], tooltip='square', icon=icon_square).add_to(m)

# circle marker
icon_circle = folium.plugins.BeautifyIcon(
    icon_shape='circle-dot', 
    border_color='green', 
    border_width=10,
)
folium.Marker([-20, 25], tooltip='circle', icon=icon_circle).add_to(m)

# star marker
icon_star = folium.Icon(
    prefix='fa', 
    icon='star', 
    icon_color='blue',
)
folium.Marker([60, 125], tooltip='star', icon=icon_star).add_to(m)


m.save('markers_on_folium_map.html')
sentence
  • 8,213
  • 4
  • 31
  • 40
AjanO
  • 433
  • 1
  • 9
  • 20

1 Answers1

6

Just working on BeautifyIcon options can satisfy your needs:

import folium
from folium.plugins import BeautifyIcon

# Make an empty map
m = folium.Map(location=[15, 0], tiles="OpenStreetMap", zoom_start=2)

# square marker
icon_square = BeautifyIcon(
    icon_shape='rectangle-dot', 
    border_color='red', 
    border_width=10,
)
folium.Marker([50, -70], tooltip='square', icon=icon_square).add_to(m)

# circle marker
icon_circle = BeautifyIcon(
    icon_shape='circle-dot', 
    border_color='green', 
    border_width=10,
)
folium.Marker([-20, 25], tooltip='circle', icon=icon_circle).add_to(m)

# star marker
icon_star = BeautifyIcon(
    icon='star',
    inner_icon_style='color:blue;font-size:30px;',
    background_color='transparent',
    border_color='transparent',
)

folium.Marker([60, 125], tooltip='star', icon=icon_star).add_to(m)

m.save('markers_on_folium_map.html')

and you get:

enter image description here

sentence
  • 8,213
  • 4
  • 31
  • 40