Initialize Cesium Viewer with Nextspace API
HTML
<script src="https://nextspace-limited.github.io/nextspace-web-bundle/dist/nextspace.js?v3.2.2"></script>
<div id="VIEWER"></div>
CSS
html, body {
margin: 0;
padding: 0;
width: 100%;
height: 100%;
}
#VIEWER {
width: 100%;
height: 100%;
}
JavaScript
// Setup global defaults.
BModels.ENVIRONMENT.Reset({
accountId: "examples",
// DEV is reserved for Nextspace. Remove for your code!
env: BModels.Api.EEnv.DEV,
sessionId: "anonymous"
});
const init = async () => {
// Proxy Cesium Ion requests through the Nextspace API.
// This allows for access to Cesium Ion resources without exposing your token, or the default token.
const api = BModels.ENVIRONMENT.Api().GetBruceApi({});
await api.Loading;
Cesium.Ion.defaultServer = api.GetBaseUrl() + "proxy/cesium-ion/";
Cesium.Ion.defaultAccessToken = "proxy";
const container = document.getElementById("VIEWER");
const viewer = new Cesium.Viewer(container, {
// Disabling any default imagery/terrain from coming in since we're rendering a bookmark right afterwards that will dictate these things.
imageryProvider: false,
baseLayerPicker: false,
terrainProvider: null
});
BEngine.ViewerUtils.InitViewer({
viewer: viewer,
// True if you want to kill the default Cesium widgets.
// Eg: Their timeline widget.
destroyWidgets: false,
styleContainer: true
});
await BEngine.ViewRenderEngine.Render({
viewer: viewer,
bookmarkId: "2d399a55-6eb2-4a6f-8d7d-ffb670eca1c1",
viewId: "2b6a86c4-6f76-4a84-9536-c8abb0234225",
// Skip the transition for first bookmark render to avoid flying every page reload!
skipTransition: true
});
};
init();