Can I add a sequence of markers on a Folium map?

落花浮王杯 提交于 2020-07-19 04:04:22

问题


Suppose I had a list, or pandas series, or latitude longitude pairs. With Folium, I can plot markers for a single pair of coordinates using

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)

But when I try to pass a list of list, nothing is plotted. I could loop through a list of lists and plot the markers, but I am wondering if I can just pass an argument and have several markers plotted.


回答1:


You can do in this way:

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)

You can also create an html file from it to see whether markers are been added or not

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

Now open the test.html file in browser and check the markers




回答2:


I create a function to add an individual points and then use DataFrame.apply() to run every row through the function.

Here is are some examples in a notebook.



来源:https://stackoverflow.com/questions/42330802/can-i-add-a-sequence-of-markers-on-a-folium-map

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!