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:
@@ -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 */
|
||||
|
||||
@@ -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">
|
||||
|
||||
@@ -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: '© Esri — Esri, i-cubed, USDA, USGS, AEX, GeoEye, Getmapping, Aerogrid, IGN, IGP, UPR-EGP, GIS User Community',
|
||||
maxZoom: 18, noWrap: true }
|
||||
{ attribution: 'Tiles © 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) {
|
||||
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren