Fix: Ortsnamen-Layer, InfoBox bei Klick, globale Flugabdeckung
Ortsnamen: Esri World Boundaries als zuschaltbarer Imagery-Layer. InfoBox: CSS-Ausblendung entfernt, Dark-Theme Styling. Flugverkehr: Batch-Groesse 3, Pause 3s, zufaellige Reihenfolge — alle Regionen bekommen Daten statt nur Europa.
Dieser Commit ist enthalten in:
@@ -19,7 +19,7 @@ html, body { height: 100%; overflow: hidden; background: var(--bg-primary); colo
|
||||
.cesium-viewer-animationContainer,
|
||||
.cesium-viewer-timelineContainer,
|
||||
.cesium-viewer-fullscreenContainer,
|
||||
.cesium-viewer-infoBoxContainer,
|
||||
|
||||
.cesium-viewer-geocoderContainer,
|
||||
.cesium-viewer-bottom { display: none !important; }
|
||||
.cesium-credit-logoContainer { opacity: 0.3; }
|
||||
@@ -92,3 +92,23 @@ html, body { height: 100%; overflow: hidden; background: var(--bg-primary); colo
|
||||
/* === Cesium InfoBox Override === */
|
||||
.cesium-infoBox { background: var(--bg-panel) !important; border: 1px solid var(--border) !important; }
|
||||
.cesium-infoBox-title { color: var(--accent) !important; font-family: var(--font-mono) !important; }
|
||||
|
||||
/* === InfoBox (Entity-Details bei Klick) === */
|
||||
.cesium-infoBox {
|
||||
background: var(--bg-panel) !important;
|
||||
border: 1px solid var(--border) !important;
|
||||
border-radius: 8px !important;
|
||||
box-shadow: 0 8px 32px rgba(0,0,0,0.5) !important;
|
||||
}
|
||||
.cesium-infoBox-title {
|
||||
color: var(--accent) !important;
|
||||
font-family: var(--font-mono) !important;
|
||||
font-size: 12px !important;
|
||||
background: rgba(0,255,136,0.08) !important;
|
||||
}
|
||||
.cesium-infoBox-iframe {
|
||||
background: var(--bg-primary) !important;
|
||||
}
|
||||
.cesium-selection-wrapper {
|
||||
border-color: var(--accent) !important;
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@ const Globe = {
|
||||
viewer: null,
|
||||
layers: {},
|
||||
_statsInterval: null,
|
||||
_labelsLayer: null,
|
||||
|
||||
init() {
|
||||
// Cesium Ion Token
|
||||
@@ -82,6 +83,22 @@ const Globe = {
|
||||
document.getElementById('bottom-stats').textContent = 'Globe initialisiert — Lade Daten...';
|
||||
},
|
||||
|
||||
_toggleLabels(on) {
|
||||
if (on && !this._labelsLayer) {
|
||||
this._labelsLayer = this.viewer.imageryLayers.addImageryProvider(
|
||||
new Cesium.UrlTemplateImageryProvider({
|
||||
url: 'https://server.arcgisonline.com/ArcGIS/rest/services/Reference/World_Boundaries_and_Places/MapServer/tile/{z}/{y}/{x}',
|
||||
maximumLevel: 18,
|
||||
credit: 'Esri',
|
||||
})
|
||||
);
|
||||
this._labelsLayer.alpha = 0.9;
|
||||
} else if (!on && this._labelsLayer) {
|
||||
this.viewer.imageryLayers.remove(this._labelsLayer);
|
||||
this._labelsLayer = null;
|
||||
}
|
||||
},
|
||||
|
||||
_setupLayerToggles() {
|
||||
var toggles = {
|
||||
'layer-flights': function(on) { on ? FlightsLayer.start(Globe.viewer) : FlightsLayer.stop(); },
|
||||
@@ -89,7 +106,7 @@ const Globe = {
|
||||
'layer-quakes': function(on) { on ? QuakesLayer.start(Globe.viewer) : QuakesLayer.stop(); },
|
||||
'layer-gdelt': function(on) { on ? GdeltLayer.start(Globe.viewer) : GdeltLayer.stop(); },
|
||||
'layer-daynight': function(on) { Globe.viewer.scene.globe.enableLighting = on; },
|
||||
'layer-labels': function(on) { /* Phase 2 */ },
|
||||
'layer-labels': function(on) { Globe._toggleLabels(on); },
|
||||
};
|
||||
Object.keys(toggles).forEach(function(id) {
|
||||
var cb = document.getElementById(id);
|
||||
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren