使用绝对位置将文本添加到 Folium 地图

Add text to Folium map using an absolute position

我在我的 Python 程序中定义了:

fig = Figure(width, height)
map = folium.Map(location=[y, x], zoom_start=2)
fig.add_child(map)

如何使用绝对位置(不是 latitude/longitude 一个)向我的地图添加文本? 由图的宽度和高度的百分比定义的位置。 像

Text("Toto is my name", pos_x=0.1*width,pos_y=0.05*height)

我查了一下,好像没有这个功能,只要你有x,y坐标就可以很方便的给文字加注释。我参照this page and this page.

定制了
from folium.features import DivIcon
import folium

m = folium.Map([34.0302, -118.2352], zoom_start=13)
folium.map.Marker(
    [34.0302, -118.2352],
    icon=DivIcon(
        icon_size=(250,36),
        icon_anchor=(0,0),
        html='<div style="font-size: 20pt">Toto is my name</div>',
        )
    ).add_to(m)
m

这是我的解决方案。 FloatImage 完成图像的工作...... 所以我决定将我的文本转换成 png 然后使用这个方法

from PIL import Image, ImageDraw, ImageFont
W, H = (300,200)
im = Image.new("RGBA",(W,H))
draw = ImageDraw.Draw(im)
msg = "pycoa.fr (data from: {})".format(mypandas.data_base)
w, h = draw.textsize(msg)
fnt = ImageFont.truetype('/Library/Fonts/Arial.ttf', 14)
draw.text((0,0), msg, font=fnt,fill=(0, 0, 0))
im.crop((0, 0,2*w,2*h)).save("pycoatextlogo.png", "PNG")
FloatImage("pycoatextlogo.png", bottom=0, left=0).add_to(map)

它并不完美,但它确实有效:)