簡體   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