File size: 1,579 Bytes
51b3a1a bb25a4c 3512bf5 20f7127 c4b812c fc09623 f290851 fc09623 f290851 5e4ebda fc09623 51b3a1a fc09623 51b3a1a f290851 51b3a1a fc09623 f290851 fc09623 f290851 ee8844a 5e4ebda |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
from folium import Map, Marker, Icon, Popup
from streamlit_folium import folium_static
import streamlit as st
from data_manager import get_data
def display_map():
data, total_hits = get_data() # Assurez-vous que get_data() retourne également total_hits
if data:
# Message au-dessus de la carte
st.markdown("Cliquer sur l'icône pour découvrir l'entreprise et une de ses actions RSE remarquable")
m = Map(location=[44.84474, -0.60711], zoom_start=12)
for item in data:
try:
point_geo = item.get('point_geo', [])
if point_geo:
lat, lon = float(point_geo[0]), float(point_geo[1])
if lat and lon:
popup_html = f"""
<div style="width:300px;">
<b>{item.get('nom_courant_denomination', 'Sans nom')}</b><br>
<b>Action RSE:</b><br>
{item.get('action_rse', 'Non spécifiée')}
</div>
"""
popup = Popup(popup_html, max_width=500)
Marker([lat, lon], popup=popup, icon=Icon(color='green', icon='leaf', prefix='fa')).add_to(m)
except (ValueError, TypeError, IndexError):
continue
folium_static(m)
# Message et nombre d'organisations en dessous de la carte
st.markdown(f"* Nombre d'organisations : {total_hits}")
if __name__ == "__main__":
display_map()
|