From 4c67b10f7505513ac0ee6b4c7dc9b7dbd7252107 Mon Sep 17 00:00:00 2001 From: Matteo Rosati Date: Wed, 11 Feb 2026 17:09:06 +0100 Subject: [PATCH] add buildings hover. add favicon --- frontend/static/frontend/images/favicon.ico | Bin 0 -> 4934 bytes frontend/static/frontend/ts/main.ts | 29 ++++++++++++++++++++ frontend/templates/frontend/base.html | 1 + frontend/templates/frontend/home.html | 2 +- 4 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 frontend/static/frontend/images/favicon.ico diff --git a/frontend/static/frontend/images/favicon.ico b/frontend/static/frontend/images/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..46e934018a02c55d79a79802f3a300656b319523 GIT binary patch literal 4934 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 DFrp2I literal 0 HcmV?d00001 diff --git a/frontend/static/frontend/ts/main.ts b/frontend/static/frontend/ts/main.ts index a1082a6..9414d64 100644 --- a/frontend/static/frontend/ts/main.ts +++ b/frontend/static/frontend/ts/main.ts @@ -18,4 +18,33 @@ map.on("load", () => { lng: position.coords.longitude, }); }); + + // Il layer per gli highlight + map.addLayer({ + id: "buildings-highlight", // nome arbitrario del layer + type: "fill", + source: "buildings", + "source-layer": "building", + paint: { + "fill-color": "#41ff44", + "fill-opacity": 1, + }, + filter: ["==", ["id"], ""], + }); + + map.on("mousemove", (ev) => { + const features = map.queryRenderedFeatures(ev.point, { + layers: ["buildings"], // questo e' il layer che c'e' nello style di maptiler + }); + + if (features && features.length > 0) { + const hoveredId = features[0].id; + + if (hoveredId) { + map.setFilter("buildings-highlight", ["==", ["id"], hoveredId]); + } + } else { + map.setFilter("buildings-highlight", ["==", ["id"], ""]); + } + }); }); diff --git a/frontend/templates/frontend/base.html b/frontend/templates/frontend/base.html index 76500d8..d5c78b9 100644 --- a/frontend/templates/frontend/base.html +++ b/frontend/templates/frontend/base.html @@ -21,6 +21,7 @@ crossorigin="anonymous" referrerpolicy="no-referrer" /> + {% block extra_css %}{% endblock %}