6

假设我有一个列表、熊猫系列或纬度经度对。使用 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)

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

4

2 回答 2

7

你可以这样做:

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 文件并检查标记

于 2017-03-01T11:19:14.147 回答
2

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

以下是笔记本中的一些示例。

于 2017-05-02T15:52:38.540 回答