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

Demetri Pananos picture Demetri Pananos · Feb 19, 2017 · Viewed 8.1k times · Source

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.

Answer

Muhammad Haseeb Khan picture Muhammad Haseeb Khan · Mar 1, 2017

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