Jump to content

romainkrchf

Member
  • Posts

    2
  • Joined

  • Last visited

Posts posted by romainkrchf

  1. Hello,

    Do you have any luck with this topic?
    We are also trying to upload an html file that would just be open as as new page but it doesn't seem to work.

    I created a page and inserted the code in a Code Block but I have the constraint of the website design (header, spacing, and the full screen button does not work properly): https://www.uzufly.com/demo

    Find below the HTML code within the *.html file:

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
      <meta charset="utf-8">
      <!-- Include the CesiumJS JavaScript and CSS files -->
      <script src="https://cesium.com/downloads/cesiumjs/releases/1.86/Build/Cesium/Cesium.js"></script>
      <link href="https://cesium.com/downloads/cesiumjs/releases/1.86/Build/Cesium/Widgets/widgets.css" rel="stylesheet">
    </head>
    
    <body>
    
      <div id="cesiumContainer"></div>
      <script>
        Cesium.Ion.defaultAccessToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI4NTg3YzE5YS00ZDkxLTQzNzUtYTM1ZC0wOWQ1YmEyZTdmM2QiLCJpZCI6NDMyMzMsImlhdCI6MTYxMjM0MDk5MX0.i9LhK5vkwyysMYU36KBJ0EzO75FqfyDL4gkn_e4RrD8';    // Initialize the Cesium Viewer in the HTML element with the `cesiumContainer` ID.
    
        // Add Cesium OSM Buildings, a global 3D buildings layer.
        // const buildingTileset = viewer.scene.primitives.add(Cesium.createOsmBuildings());
    
        var rectangle = Cesium.Rectangle.fromDegrees(
          5.013926957923385,
          45.35600133779394,
          11.477436312994008,
          48.27502358353741
        );
    
        var imageryProvider = new Cesium.UrlTemplateImageryProvider({
          url:
            "https://wmts20.geo.admin.ch/1.0.0/ch.swisstopo.swissimage-product/default/current/4326/{z}/{x}/{y}.jpeg",
          minimumLevel: 8,
          maximumLevel: 17,
          tilingScheme: new Cesium.GeographicTilingScheme({
            numberOfLevelZeroTilesX: 2,
            numberOfLevelZeroTilesY: 1
          }),
          rectangle: rectangle
        });
    
        //imageryProvider.defaultBrightness = 1.5;
    
        var viewer = new Cesium.Viewer('cesiumContainer', {
          timeline:false,
          geocoder:false,
          animation:false,
          vrButton:true,
          sceneModePicker:false,
          infoBox:true,
          scene3DOnly:true,
          baseLayerPicker: false,
    
          terrainProvider: new Cesium.CesiumTerrainProvider({
                url:
                  "https://terrain100.geo.admin.ch/1.0.0/ch.swisstopo.terrain.3d"
              }),
          imageryProvider
        });
    
    
        const tilesets = {
          tileset_LeMont_est: new Cesium.Cesium3DTileset({
            url: Cesium.IonResource.fromAssetId(670321),
            maximumScreenSpaceError : 1
          }),
          tileset_LeMont_ouest: new Cesium.Cesium3DTileset({
            url: Cesium.IonResource.fromAssetId(670323),
            maximumScreenSpaceError : 1
          }),
        }
    
        // Override behavior of home button
        viewer.homeButton.viewModel.command.beforeExecute.addEventListener(function(commandInfo) {
          // Fly to tileset
          viewer.flyTo(tileset);
    
          // Tell the home button not to do anything
          commandInfo.cancel = true;
        });
    
        // Add tileset to viewer and set initial camera position
        viewer.scene.primitives.add(tilesets.tileset_LeMont_est);
        viewer.scene.primitives.add(tilesets.tileset_LeMont_ouest);
    
        function offSettileset(tileset) {
            // Set the camera to view the newly added tileset
            var heightOffset = -50;
            var boundingSphere = tileset.boundingSphere;
            var cartographic = Cesium.Cartographic.fromCartesian(boundingSphere.center);
            var surface = Cesium.Cartesian3.fromRadians(cartographic.longitude, cartographic.latitude, 0.0);
            var offset = Cesium.Cartesian3.fromRadians(cartographic.longitude, cartographic.latitude, heightOffset);
            var translation = Cesium.Cartesian3.subtract(offset, surface, new Cesium.Cartesian3());
            tileset.modelMatrix = Cesium.Matrix4.fromTranslation(translation);
        }
    
        function zoomToTileSet(tileset) {
            viewer.zoomTo(tilesets[tileset]);
        }
    
        tilesets.tileset_LeMont_est.readyPromise.then((tileset) => {
            offSettileset(tileset);
    
            viewer.zoomTo(tileset);
        });
    
        tilesets.tileset_LeMont_ouest.readyPromise.then((tileset) => {
            offSettileset(tileset);
        });
    
        var measureWidget = new Cesium.Measure({
         container : 'measureContainer',
         scene : scene,
         units : new Cesium.MeasureUnits({
             distanceUnits : Cesium.DistanceUnits.METERS,
             areaUnits : Cesium.AreaUnits.SQUARE_METERS,
             volumeUnits : Cesium.VolumeUnits.CUBIC_FEET,
             angleUnits : Cesium.AngleUnits.DEGREES,
             slopeUnits : Cesium.AngleUnits.GRADE
         })
    });
    
    
      </script>
    </body>
    </html>

     

×
×
  • Create New...

Squarespace Webinars

Free online sessions where you’ll learn the basics and refine your Squarespace skills.

Hire a Designer

Stand out online with the help of an experienced designer or developer.