import streamlit as st import pandas as pd import folium import numpy as np from streamlit_folium import folium_static # Load data data = { 'Name': ['Location_A', 'Location_B', 'Location_C', 'Location_D', 'Location_E', 'Location_A', 'Location_B', 'Location_C', 'Location_D', 'Location_E', 'Location_A', 'Location_B', 'Location_C', 'Location_D', 'Location_E', 'Location_A', 'Location_B', 'Location_C', 'Location_D', 'Location_E', 'Location_A', 'Location_B', 'Location_C', 'Location_D', 'Location_E', ], 'latitude': np.random.uniform(40.7, 40.8, size=25), # Assuming latitude range between 40.7 and 40.8 'longitude': np.random.uniform(-74.0, -73.9, size=25) # Assuming longitude range between -74.0 and -73.9 } # Create DataFrame df = pd.DataFrame(data) # Sidebar for user input st.sidebar.title('Filters') selected_column = st.sidebar.selectbox('Select Column', df.columns) # Filter data based on user selection filtered_data = pd.DataFrame(data) # Display the filtered data st.write('Filtered Data:') st.write(filtered_data) # Create a map object m = folium.Map(location=(filtered_data['latitude'].mean(), filtered_data['longitude'].mean()), zoom_start=10) # Add markers to the map all_markers = folium.FeatureGroup(name='All Markers') active_markers = folium.FeatureGroup(name='Active Markers', show=False) inactive_markers = folium.FeatureGroup(name='Inactive Markers', show=False) for index, row in filtered_data.iterrows(): status_color = 'green' if index%2==0 else 'red' html_content = f"""