Files
SpaceCom/frontend/public/app.js
2025-06-30 05:17:50 +00:00

57 lines
1.5 KiB
JavaScript

// app.js
import { API_BASE_URL } from "./config.js";
console.log('🔥 app.js loaded');
// Optional: set Ion token (if using Ion)
Cesium.Ion.defaultAccessToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJkZjk0MDM3OC1kZDE1LTRhMjItODg3NC1iMjUzNmI1NzUwMjgiLCJpZCI6MzE2ODE3LCJpYXQiOjE3NTEyMzM5OTh9.UDLPRYrMOcLAjuCWAZa2f159W0bULWSMNv3iiQcAAP8';
// Create empty viewer with no base layer
const viewer = new Cesium.Viewer("cesiumContainer", {
imageryProvider: false,
baseLayerPicker: false,
terrainProvider: new Cesium.EllipsoidTerrainProvider()
});
console.log('✅ Viewer created:', viewer);
// Create OSM imagery layer
const osmLayer = new Cesium.ImageryLayer(
new Cesium.UrlTemplateImageryProvider({
url: "https://a.tile.openstreetmap.org/{z}/{x}/{y}.png",
credit: "© OpenStreetMap contributors"
})
);
// Add imagery layer manually
viewer.imageryLayers.add(osmLayer);
console.log('✅ OSM Layer Added:', osmLayer);
console.log('✅ Imagery Layers:', viewer.imageryLayers.length);
// Load CZML from FastAPI endpoint
fetch(`${API_BASE_URL}/czml/test`)
.then(response => {
if (!response.ok) {
throw new Error("Network response was not ok");
}
return response.json();
})
.then(czmlData => {
// Load the CZML data into a Cesium data source
const czmlSource = new Cesium.CzmlDataSource();
czmlSource.load(czmlData).then(() => {
viewer.dataSources.add(czmlSource);
viewer.zoomTo(czmlSource);
});
})
.catch(error => {
console.error("Failed to load CZML:", error);
});