diff --git a/app/routes.py b/app/routes.py
index f7bf64a..9cc8618 100644
--- a/app/routes.py
+++ b/app/routes.py
@@ -19,7 +19,7 @@ Then the 'dynamic' (calculated) routes :
"""
import typing as t
-
+from collections import defaultdict
from flask import Blueprint, render_template, request, url_for, redirect
import folium
@@ -189,18 +189,35 @@ def geolocalisation():
actes=plaintext_response(search, actecol, prince_bigram))
m = folium.Map(location=[46.603354, 1.888334], zoom_start=6)
+ markers = defaultdict(list)
for result in actecol.find():
place = result['place']
+ filename = result['filename']
name = place['name']
+ place_name = name.lower()
url = result['url']
- if place.get('latitude') is not None:
+ latitude = place['latitude']
+ longitude = place['longitude']
+ markers[place_name].append([url, latitude, longitude, filename])
+
+ for key, value in markers.items():
+ name = key.capitalize()
+ latitude = value[0][1]
+ longitude = value[0][2]
+ urls = [(url[0], url[3]) for url in value]
+ #print("urls", urls)
+ popup = [f"{name}
"]
+ for location, see in urls:
+ popup.append(f"{see}
")
+ popup = "".join(popup)
+ if latitude is not None:
folium.Marker(
- location=[place['latitude'], place['longitude']],
- popup= f"{name}
Voir",
+ location=[latitude, longitude],
+ popup= popup,
icon=folium.Icon(color='lightgray', icon="circle", prefix='fa')
- #icon=folium.Icon(color='lightgray', icon='home', prefix='fa')
).add_to(m)
+
geolocalisation = m._repr_html_()
return render_template("map.html", geolocalisation=geolocalisation)