繁体   English   中英

使用绝对 position 将文本添加到 Folium map

[英]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)

如何使用绝对 position(不是纬度/经度之一)向我的 map 添加文本? A position 由图的宽度和高度的百分比定义。 就像是

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

我已经研究过了,它似乎没有那个功能,只要你有 x,y 坐标,你就可以轻松地注释文本。 我通过参考this pagethis 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)

它并不完美,但它有效:) 在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM