我正在尝试向使用Folium在Python中生成的地图添加搜索功能。我看到有一个方便的Search插件可用,并且能够成功实现它并将其添加到地图中。不幸的是,使用FeatureGroup作为图层,我的FeatureGroup充满了标记,似乎无法使搜索返回结果。
我的假设是,搜索功能将查询标记的工具提示和/或弹出属性以返回经纬度作为搜索值。我尝试过手动向Search函数的search_label选项提供值'tooltip',但是没有运气。
import pandas as pd
import folium
from folium.plugins import Search
def mapGenerator(data):
map = folium.Map()
fg = folium.FeatureGroup()
for index, row in data.iterrows():
marker = folium.Marker(location=[row['lat'], row['lon']],
popup=row['name'])
marker.add_to(fg)
fg.add_to(map)
Search(fg).add_to(map)
map.save('map.html')
data = pd.DataFrame({'name': ['first', 'second', 'third'], 'lat': [28.27724, 48.52228, 22.43949],
'lon':[-9.72904, 34.77667, 102.49105]})
mapGenerator(data)
此代码生成一个映射一些随机点的地图,然后添加一个搜索框。我的预期结果是,如果我搜索“第一”,或者即使我搜索了“杉木”(或某些变体),搜索栏也会放大名称为“第一”的坐标,但是目前没有结果不管发现什么。