引用:Sandcastle-header.js,

需要说明一个问题,采用http-server发布,相对路径和利用tomcat发布相对路径不一样。tomcat似乎更好理解一些,比如源码为index文件,同级目录就是直接写文件名。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta
      name="viewport"
      content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no"
    />
    <meta name="description" content="Draw a cylinder or cone.">
    <meta name="cesium-sandcastle-labels" content="Geometries">
    <title>Cesium Demo</title>
    <script type="text/javascript" src="Sandcastle-header.js"></script>
    <script type="module" src="load-cesium-es6.js"></script>
    <script src="./Build/CesiumUnminified/Cesium.js"></script>
    <script>window.CESIUM_BASE_URL = "./Build/CesiumUnminified/";</script>
  </head>
  <body
    class="sandcastle-loading"
    data-sandcastle-bucket="bucket-requirejs.html"
  >
  <style>
    @import url(bucket.css);
    html,
    body,
    #cesiumContainer {
      width: 100%;
      height: 100%;
      margin: 0;
      padding: 0;
      overflow: hidden;
    }
  </style>
  <div id="cesiumContainer" class="fullSize"></div>
  <div id="loadingOverlay"><h1>Loading...</h1></div>
  <div id="toolbar"></div>
  <script id="cesium_sandcastle_script">
  function startup(Cesium) {
    'use strict';
    Cesium.Ion.defaultAccessToken='你的TOKEN';

    //Sandcastle_Begin
     var viewer = new Cesium.Viewer("cesiumContainer");

        var blueBox = viewer.entities.add({
          name: "Blue box",
          position: Cesium.Cartesian3.fromDegrees(-114.0, 40.0, 300000.0),
          box: {
            dimensions: new Cesium.Cartesian3(400000.0, 300000.0, 500000.0),
            material: Cesium.Color.BLUE,
          },
        });

        var redBox = viewer.entities.add({
          name: "Red box with black outline",
          position: Cesium.Cartesian3.fromDegrees(-107.0, 40.0, 300000.0),
          box: {
            dimensions: new Cesium.Cartesian3(400000.0, 300000.0, 500000.0),
            material: Cesium.Color.RED.withAlpha(0.5),
            outline: true,
            outlineColor: Cesium.Color.BLACK,
          },
        });

        var outlineOnly = viewer.entities.add({
          name: "Yellow box outline",
          position: Cesium.Cartesian3.fromDegrees(-100.0, 40.0, 300000.0),
          box: {
            dimensions: new Cesium.Cartesian3(400000.0, 300000.0, 500000.0),
            fill: false,
            outline: true,
            outlineColor: Cesium.Color.YELLOW,
          },
        });
const greenCylinder = viewer.entities.add({
    name: "Green cylinder with black outline",
    position: Cesium.Cartesian3.fromDegrees(120.0, 32.0, 200000.0),
    cylinder: {
      length: 400000.0,
      topRadius: 200000.0,
      bottomRadius: 200000.0,
      material: Cesium.Color.GREEN.withAlpha(0.5),
      outline: true,
      outlineColor: Cesium.Color.DARK_GREEN,
    },
  });

  const redCone = viewer.entities.add({
    name: "Red cone",
    position: Cesium.Cartesian3.fromDegrees(115.0, 32.0, 200000.0),
    cylinder: {
      length: 400000.0,
      topRadius: 0.0,
      bottomRadius: 200000.0,
      material: Cesium.Color.RED,
    },
  });

  viewer.zoomTo(viewer.entities);
  //Sandcastle_End
  Sandcastle.finishedLoading();
  };

  if (typeof Cesium !== 'undefined') {
    window.startupCalled = true;
     startup(Cesium);

  }
  </script>
</body>
</html>

客户端访问效果: