问题
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