我可以在 Folium 地图上添加一系列标记吗?

问题描述 投票:0回答:3

假设我有一个列表,或 pandas 系列,或纬度经度对。 借助 Folium,我可以使用

绘制一对坐标的标记
coords = [46.8354, -121.7325]
map_4 = folium.Map(location=[46.8527, -121.7649], tiles='Stamen Terrain',
                   zoom_start=13)
folium.Marker(location=coords).add_to(map_4)

但是当我尝试传递列表列表时,没有绘制任何内容。 我可以循环遍历列表列表并绘制标记,但我想知道是否可以只传递一个参数并绘制几个标记。

python folium
3个回答
9
投票

你可以这样做:

map = folium.Map(location = [lat, lng], zoom_start = 4, tiles = "Mapbox bright")
feature_group = folium.FeatureGroup("Locations")

for lat, lng, name in zip(lat_lst, lng_lst, name_lst):
    feature_group.add_child(folium.Marker(location=[lat,lon],popup=name))

map.add_child(feature_group)

您还可以从中创建一个html文件来查看是否添加了标记

map.save(outfile = "test.html")

现在在浏览器中打开 test.html 文件并检查标记


3
投票

我创建一个函数来添加单个点,然后使用 DataFrame.apply() 通过该函数运行每一行。

这是笔记本中的一些示例。


0
投票
for index, row in data.iterrows():
    custom_icon = folium.features.CustomIcon('path/to/image',icon_size=(50, 50))
    folium.Marker([row['data'],row['data']],icon=custom_icon).add_to(map)

感谢@jimiclapton,在在此处输入链接描述

© www.soinside.com 2019 - 2024. All rights reserved.