gpt4 book ai didi

python - 如何在基于 folium 的 map 中将动态字符串值从 Python 传递到 html?

转载 作者:行者123 更新时间:2023-12-01 00:59:54 36 4
gpt4 key购买 nike

我正在尝试创建一个包含所有 map 标记的动态信息的 map 。例如,带有某个区域中餐厅标记的 map ,其中显示与该餐厅相关的名称、图片和其他信息。

问题:如何将 map 中每个标记的动态字符串值从 Python 传递到 HTML。

我能够正确地将图片与每个标记链接起来,但无法链接名称等文本字段。无论我将 html 放在 for 循环内部还是外部,它总是会给我错误的静态值。

P.S - 我是编程新手

# creating map layout, center point & view
m_sat = folium.Map(location=[28.595793, 77.414752], zoom_start=13, tiles='https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}', attr='Created by') # added Esri_WorldImagery

html = '''<img ALIGN="Right" src="data:image/png;base64,{}">\
<h1>Name: </h1>{{ var_pass }}<br />\
<h2>Location: </h2>Noida<br />'''.format

# creating for loop below for dynamic content
for plot_numb in range(address.shape[0]):

picture = base64.b64encode(open(str(plot_numb+1)+'.png','rb').read()).decode()
iframe = IFrame(html(picture), width=300+200, height=300+20)
popup = folium.Popup(iframe, max_width=650)
icon = folium.Icon(color="white", icon="cloud", icon_color='black')
tooltip = 'Click to view more about: '+address.iloc[plot_numb,0]
var_pass = address.iloc[plot_numb,0]
marker = folium.Marker(location=address.iloc[plot_numb,1],
popup=popup, tooltip=tooltip, icon=icon).add_to(m_sat)

m_sat

我应该能够在 map 上显示每个标记的相关名称信息。
附上问题的最终结果图: enter image description here

“地址”数据帧示例:

        Name           Location
0 Farzi Cafe [28.562, 77.387]
1 Skylounge [28.562, 77.387]
2 Tamasha Cafe [28.562, 77.387]
3 Starbucks [28.565, 77.449]
4 Pizza Hut [28.620, 77.425]

最佳答案

试试这个:

var_name = 'restaurant_name'
var_loc = 'restaurant_location'
# var_picture = <base64 image data>
html = f'''<img ALIGN="Right" src="data:image/png;base64,{var_picture}">\
<h1>Name: </h1>{var_name}<br />\
<h2>Location: </h2>{var_loc}<br />\
'''
html
## '<img ALIGN="Right" src="data:image/png;base64,{}"><h1>Name: </h1>restaurant_name<br /><h2>Location: </h2>restaurant_location<br />'

现在,循环遍历数据框以获取所有名称和位置。

关于python - 如何在基于 folium 的 map 中将动态字符串值从 Python 传递到 html?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55890858/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com