Fix: GEOINT Satellitenkarte grau - Scanline-Overlay und Tile-Layer-Handling korrigiert

- ::after Pseudo-Element entfernt (ueberdeckte Tiles)
- position:relative vom map-container entfernt
- Tile-Layer Entfernung in separatem Array (vermeidet eachLayer-Mutation)
- pane:overlayPane von Labels entfernt
- bringToBack() auf Satellite-Layer
Dieser Commit ist enthalten in:
Claude Dev
2026-03-24 09:42:21 +01:00
Ursprung b2be1358ab
Commit 9941ee646e
3 geänderte Dateien mit 13 neuen und 29 gelöschten Zeilen

Datei anzeigen

@@ -36,20 +36,7 @@
filter: brightness(0.88) contrast(1.08) saturate(0.85);
transition: filter 0.4s ease;
}
.geoint-active::after {
content: '';
position: absolute;
inset: 0;
pointer-events: none;
z-index: 800;
background: repeating-linear-gradient(
0deg,
transparent,
transparent 3px,
rgba(0, 255, 100, 0.012) 3px,
rgba(0, 255, 100, 0.012) 6px
);
}
/* Scanline-Overlay (subtiler Effekt, kein Blocking) */
.geoint-active .map-empty { display: none !important; }
/* Gruener Akzent am Card-Header wenn aktiv */
@@ -297,12 +284,4 @@
[data-theme="light"] .geoint-active .leaflet-tile-pane {
filter: brightness(0.95) contrast(1.05) saturate(0.9);
}
[data-theme="light"] .geoint-active::after {
background: repeating-linear-gradient(
0deg,
transparent,
transparent 3px,
rgba(0, 100, 50, 0.008) 3px,
rgba(0, 100, 50, 0.008) 6px
);
}
/* Light theme scanline overlay disabled */

Datei anzeigen

@@ -417,7 +417,7 @@
</button>
</div>
</div>
<div class="map-container" id="map-container" style="position:relative">
<div class="map-container" id="map-container">
<div class="map-empty" id="map-empty">Keine Orte erkannt</div>
</div>
<div class="geoint-timeline" id="geoint-timeline" style="display:none">

Datei anzeigen

@@ -70,19 +70,24 @@ const GEOINT = {
// -----------------------------------------------------------------------
_applySatelliteTiles(map) {
if (!map) return;
// Bestehende Tile-Layer entfernen
// Bestehende Tile-Layer in separatem Array sammeln, dann entfernen
var toRemove = [];
map.eachLayer(function(layer) {
if (layer instanceof L.TileLayer) map.removeLayer(layer);
if (layer instanceof L.TileLayer) toRemove.push(layer);
});
toRemove.forEach(function(layer) { map.removeLayer(layer); });
// Esri World Imagery
this._satTileLayer = L.tileLayer(
'https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}',
{ attribution: '&copy; Esri &mdash; Esri, i-cubed, USDA, USGS, AEX, GeoEye, Getmapping, Aerogrid, IGN, IGP, UPR-EGP, GIS User Community',
maxZoom: 18, noWrap: true }
{ attribution: 'Tiles &copy; Esri', maxZoom: 19, noWrap: true }
).addTo(map);
// Ortsnamen-Overlay
this._satLabelLayer = L.tileLayer(
'https://server.arcgisonline.com/ArcGIS/rest/services/Reference/World_Boundaries_and_Places/MapServer/tile/{z}/{y}/{x}',
{ maxZoom: 18, noWrap: true, pane: 'overlayPane' }
{ maxZoom: 19, noWrap: true }
).addTo(map);
// Satellite nach hinten, damit Marker darueber liegen
if (this._satTileLayer.bringToBack) this._satTileLayer.bringToBack();
},
_restoreOsmTiles(map) {