如何使用 folium.icon 和 fontawesome

How to use folium.icon with fontawesome

我希望使用自定义的 fontawesome 图标,谢谢。

我想使用 fontawesome 图标从 folium.icon 更改图标。

比如我想改成这样:

    import folium

    m = folium.Map(location=(25.0431, 121.539723), zoom_start=12,tiles='Cartodb Positron')

    folium.Marker(
        location=[25.0431, 121.539723], 
        icon=folium.Icon(color="red",icon="fa-truck", prefix='fa')).add_to(m)

    m

给个burger icon from fontawesome如下图:

    folium.Marker(
        location=[25.0431, 121.539723], 
        icon=folium.Icon(color="red",icon="fa-hamburger", prefix='fa')).add_to(m)

但这对我不起作用!

非常感谢!!!!

修订

我之前的回复忽略了 this issue with Folium and Leaflet: icons added in Fontawesome v5 do not currently render in Folium or Leaflet, upon which Folium is derived. Fonts that were part of Fontawesome v4, such as "truck" work just fine as you implemented. So you'll have to wait on "hamburger" or find another marker in the Fontawesome v4 list 确实有效。

请记住,如果您无法通过 Fontawesome 找到您想要的内容,您可以随时使用 Bootstrap icons 作为替代方案。


下面提供的信息仅对 Fontawesome v4.x 图标有效

欢迎光临!您应该能够通过对图标构造函数稍作修改来呈现图标。在正常使用中,icon 参数将指向标准 glyphicons from Bootstrap。如果你想使用 Fontawesome 图标,你输入不带前缀的图标名称(例如前面没有 "fa-""hamburger"),然后为 Fontawesome 添加 prefix 关键字参数,即fa.

所以在你的情况下它看起来像这样:

folium.Marker(
    location=[25.0431, 121.539723], 
    icon=folium.Icon(color="red",icon="hamburger", prefix='fa')
).add_to(m)

另见

我认为出现此问题是因为 folium 使用 FontAwesome 4 而汉堡包是 FontAwesome 5.7 之后可用的图标。所以解决方案要么使用 FontAwesome 4 icon list 中的字体,要么 fork Folium 来更新库。

对我来说,至少 folium.Icon(color='red',icon="car", prefix='fa') 有效。

只需使用来自互联网的图片(.png、.jpeg 等)

m = folium.Map(location=[19,-99], zoom_start=5, tiles="Stamen Terrain")

icon = folium.features.CustomIcon('PASTE_URL', icon_size=(24, 24))

folium.Marker(
    location=[19.30,-99.27],
    popup="Mt. Hood Meadows",
    icon = icon,
).add_to(m)

来源:https://nbviewer.jupyter.org/github/ocefpaf/secoora_assets_map/blob/gh-pages/test_geojson.ipynb