Добавление текста на карту фолиума с использованием абсолютной позиции

#python #folium

#python #folium

Вопрос:

Я определил в своей программе на Python:

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

Как я могу добавить текст на свою карту, используя абсолютную позицию (не широту / долготу)?
Позиция, определяемая процентом от ширины и высоты фигуры.
Что-то вроде

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

Ответ №1:

Я изучил это, и, похоже, у него нет этой функции, пока у вас есть координаты x, y, вы можете легко аннотировать текст. Я настроил его, обратившись к этой странице и этой странице .

 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
 

введите описание изображения здесь

Ответ №2:

вот мое решение. 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)
 

Это не идеально, но работает 🙂 введите описание изображения здесь