Offline-Karten Runde 7: 'Alles loeschen' selektiv — Standort + Routen-Korridore bleiben
Idee Rene (spart Vorladezeit + Daten): statt loeschen-und-neu-laden bleiben
- Standort-Gebiete (Regionen type 'standort')
- Korridore der gespeicherten Routen (clear({keepTracks}) aus preview_track)
- 5-km-Umkreis der aktuellen Position + Basis-Zooms 0-9
- Marker/Warnungen (p/) + Glyphs (f/)
Geloescht: manuelle Gebiete/Ausschnitte + Funkloch-Kacheln (Zonen bleiben
gemerkt, Nahe laden automatisch neu). Ohne Keep-Kandidaten: Komplett-Wipe.
Batch-Delete in einer Transaktion. Tests r7 neu, r6 angepasst, Regression gruen.
Bump v1235
This commit is contained in:
parent
94a6ce49ba
commit
29cd489287
11 changed files with 193 additions and 39 deletions
|
|
@ -2308,13 +2308,22 @@ window.Page_map = (() => {
|
|||
btn.innerHTML = `${UI.icon('trash')} Wirklich alles löschen?`;
|
||||
return;
|
||||
}
|
||||
await MapOffline.clear().catch(() => {});
|
||||
// SELEKTIV löschen (René 2026-06-08, spart Vorladezeit): Standort-Gebiet + Korridore
|
||||
// der gespeicherten Routen bleiben einfach stehen statt löschen-und-neu-laden.
|
||||
let keepTracks = [];
|
||||
try {
|
||||
keepTracks = ((await API.routes.list()) || [])
|
||||
.map(r => r.preview_track).filter(t => (t || []).length >= 2);
|
||||
} catch (e) {}
|
||||
await MapOffline.clear({
|
||||
center: _userPos ? { lat: _userPos.lat, lon: _userPos.lon } : null,
|
||||
keepTracks,
|
||||
}).catch(() => {});
|
||||
_setCoverage(false);
|
||||
UI.modal.close();
|
||||
UI.toast.success('Offline-Karten gelöscht. Funkloch-Gebiete werden beim nächsten Start automatisch neu geladen.');
|
||||
// Standort-Grundversorgung sofort wiederherstellen (René 2026-06-08: das Gebiet am
|
||||
// aktuellen Standort muss bleiben — es würde sonst nicht automatisch vorgeladen
|
||||
// und die Offline-Funktionalität wäre genau hier weg).
|
||||
UI.toast.success('Offline-Karten gelöscht — Standort-Gebiet und Routen-Korridore bleiben erhalten.');
|
||||
// Sicherheitsnetz: falls am Standort nichts zu behalten war (z.B. nie geladen),
|
||||
// Grundversorgung jetzt herstellen.
|
||||
if (_userPos && navigator.onLine) {
|
||||
try {
|
||||
const r = await MapOffline.ensureHomeArea(_userPos.lat, _userPos.lon);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue