/** * 3D-Gebaeude-Layer: OpenStreetMap Buildings via Cesium Ion. * Zeigt weltweite 3D-Gebaeude mit Hoehen aus OSM-Daten. */ const BuildingsLayer = { _viewer: null, _tileset: null, start: function(viewer) { if (this._tileset) return; this._viewer = viewer; var self = this; Cesium.createOsmBuildingsAsync().then(function(tileset) { if (!self._viewer) return; self._tileset = tileset; self._tileset.style = new Cesium.Cesium3DTileStyle({ color: { conditions: [ ["${feature['building']} === 'military'", "color('#ff2222', 0.7)"], ["${feature['building']} === 'industrial'", "color('#ff8800', 0.6)"], ["${feature['building']} === 'government' || ${feature['building']} === 'public'", "color('#4488ff', 0.6)"], ["true", "color('#88aacc', 0.45)"], ], }, }); self._viewer.scene.primitives.add(self._tileset); }); }, stop: function() { if (this._tileset && this._viewer) { this._viewer.scene.primitives.remove(this._tileset); this._tileset = null; } }, };