|
import streamlit as st |
|
import folium |
|
from streamlit_folium import folium_static |
|
from folium.plugins import MarkerCluster |
|
|
|
|
|
california_med_centers = [ |
|
('UCSF Medical Center', 37.7631, -122.4576, 'General medical and surgical', 'San Francisco'), |
|
('Cedars-Sinai Medical Center', 34.0762, -118.3790, 'Heart specialty', 'Los Angeles'), |
|
('Stanford Health Care', 37.4331, -122.1750, 'Teaching hospital', 'Stanford'), |
|
('UCLA Medical Center', 34.0659, -118.4466, 'Research and teaching', 'Los Angeles'), |
|
('Scripps La Jolla Hospitals', 32.8851, -117.2255, 'Multiple specialties', 'La Jolla'), |
|
('Sharp Memorial Hospital', 32.7992, -117.1542, 'Trauma center', 'San Diego'), |
|
('Huntington Hospital', 34.1330, -118.1475, 'Non-profit hospital', 'Pasadena'), |
|
('Hoag Memorial Hospital', 33.6045, -117.8664, 'Community hospital', 'Newport Beach'), |
|
('UCSD Medical Center', 32.7554, -117.1682, 'Academic health center', 'San Diego'), |
|
('UC Davis Medical Center', 38.5539, -121.4554, 'Public academic health', 'Sacramento'), |
|
('John Muir Medical Center', 37.9192, -122.0426, 'Heart care', 'Walnut Creek'), |
|
('Santa Clara Valley Medical Center', 37.3121, -121.9769, 'County hospital', 'San Jose'), |
|
('Kaiser Permanente San Francisco', 37.7741, -122.4179, 'Health maintenance organization', 'San Francisco'), |
|
('City of Hope', 34.1285, -117.9665, 'Cancer center', 'Duarte'), |
|
('UCI Medical Center', 33.7886, -117.8572, 'University hospital', 'Orange'), |
|
('Good Samaritan Hospital', 34.0506, -118.2831, 'Private hospital', 'Los Angeles'), |
|
('Los Angeles County General', 34.0581, -118.2917, 'Public hospital', 'Los Angeles'), |
|
('California Pacific Medical Center', 37.7864, -122.4357, 'Private non-profit', 'San Francisco'), |
|
('Sutter Roseville Medical Center', 38.7521, -121.2760, 'General medical and surgical', 'Roseville'), |
|
('St. Joseph Hospital', 33.7821, -117.9188, 'Faith-based care', 'Orange') |
|
] |
|
|
|
|
|
m = folium.Map(location=[36.7783, -119.4179], zoom_start=6) |
|
|
|
|
|
marker_cluster = MarkerCluster().add_to(m) |
|
for center in california_med_centers: |
|
folium.Marker( |
|
location=[center[1], center[2]], |
|
popup=f'<b>{center[0]}</b><br>Description: {center[3]}<br>City: {center[4]}', |
|
icon=folium.Icon(color='red') |
|
).add_to(marker_cluster) |
|
|
|
|
|
folium_static(m) |
|
|
|
st.markdown(""" |
|
# π₯ California Medical Centers π |
|
The map above shows the location of various medical centers and hospitals in California. Hover over the markers to learn more about each location. |
|
""") |
|
|
|
|
|
def update_map(center_data): |
|
m.location = [center_data[1], center_data[2]] |
|
m.zoom_start = 13 |
|
folium_static(m) |
|
|
|
for i in range(0, len(california_med_centers), 4): |
|
cols = st.columns(4) |
|
for j in range(4): |
|
if i + j < len(california_med_centers): |
|
with cols[j]: |
|
if st.button(california_med_centers[i + j][0]): |
|
update_map(california_med_centers[i + j]) |
|
|