DermaScan-AI / frontend /components /hospital_map.py
Meet Radadiya
Fix: remove duplicate emergency block, clean up pip install in Dockerfile
c4863c5
Raw History Blame Contribute Delete
1.79 kB
"""
Hospital Map Component for DermaScan AI
"""
import os
import streamlit as st
def render_hospital_map(result, selected_city, selected_state):
hosp_type = result.get("hospital_type", "Dermatologist")
location = result.get("hospital_location", f"{selected_city}, {selected_state}")
search_query = result.get("hospital_search_query", "dermatologist near me")
full_query = f"{search_query} in {selected_city}, {selected_state}, India"
encoded_query = full_query.replace(" ", "+")
maps_url = "https://www.google.com/maps/search/" + encoded_query
st.markdown(
f'<div class="pro-card">'
f"<h3>πŸ₯ Find {hosp_type}</h3>"
f"<p>πŸ“ Searching in: <strong>{location}</strong></p>"
f"</div>",
unsafe_allow_html=True,
)
api_key = os.environ.get("MAPS_API_KEY", "")
if api_key:
embed_url = f"https://www.google.com/maps/embed/v1/search?key={api_key}&q={encoded_query}"
st.markdown(
f'<iframe width="100%" height="450" style="border:0;border-radius:12px;" '
f'src="{embed_url}" allowfullscreen loading="lazy"></iframe>',
unsafe_allow_html=True,
)
else:
st.info("Set the MAPS_API_KEY secret in HF Space settings to enable the embedded map.")
st.link_button(
f"πŸ—ΊοΈ Open Google Maps β€” {hosp_type}",
maps_url,
use_container_width=True,
)
st.markdown("")
emergency = result.get("emergency_numbers", {})
if emergency:
emer_html = '<div class="emergency-card"><h4>🚨 Emergency Contacts</h4>'
for label, num in emergency.items():
emer_html += f"<p>πŸ“ž {label}: <b>{num}</b></p>"
emer_html += "</div>"
st.markdown(emer_html, unsafe_allow_html=True)