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.
Folium gives a folium. Marker() class for plotting markers on a map. Just pass the latitude and longitude of the location, mention the popup and tooltip and add it to the map.
We used the geopy library to get the latitude and longitude of the location. Then we used the "folium. map" method of the folium package for creating the base of Google Maps. In step 2, we used "folium.
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
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With