Eigentliche Ursache von 'Detailkarte zoomt nicht auf die Route': die Karte war auf dem Gerät gar keine GL-Karte mehr, sondern der Leaflet+OSM-RASTER-Fallback. Grund: _detailMap (GL-Kontext) wurde beim Schließen des Modals NIE freigegeben — jede geöffnete Route leakte einen WebGL-Kontext. Nach ~8 wirft MapLibre, und UI.map.create fällt auf Leaflet+OSM zurück. Genau die Mapnik-Kacheln aus Renés Screenshots (und die OSM-Attribution, die wir doch loswerden wollten). Fixes: - _detailMap modulweit + im onClose des Detail-Modals freigeben. - routes.js destroy(): _detailMap/_suggestMap/_searchMap + Mini-Maps beim Verlassen der Seite freigeben. - ui.js: Offscreen-Snapshot-Kontext nach 15s Leerlauf freigeben (hielt dauerhaft einen Kontext; Cache bleibt → kein Neu-Rendern). - _fitRouteMap fittet jetzt aufs 'load'/'idle'-Event der Karte (iOS verwirft ein fitBounds VOR dem ersten Render) statt nur auf feste Timeouts. Verifiziert (headless): 12 Detail-Öffnungen in Folge bleiben ALLE GL (Leaflet:false), GL-Canvas-Zahl bleibt bei 1–2 statt zu wachsen. Vorher leakte jede Öffnung einen Kontext. |
||
|---|---|---|
| .. | ||
| css | ||
| icons | ||
| img | ||
| js | ||
| index.html | ||
| landing.html | ||
| leaflet-vector-test.html | ||
| llms.txt | ||
| manifest.json | ||
| maplibre-markers-test.html | ||
| maplibre-perf-test.html | ||
| maplibre-test.html | ||
| presse.html | ||
| robots.txt | ||
| sitemap.xml | ||
| sw.js | ||
| ui-vector-test.html | ||
| zuechter.html | ||