Cesium学习笔记4——几何体绘制

发布时间 2023-07-10 14:44:20作者: 太一吾鱼水

引用:Sandcastle-header.js

<!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>
  </head>
  <body
    class="sandcastle-loading"
    data-sandcastle-bucket="bucket-requirejs.html"
  >
  <style>
    @import url(../Build/CesiumUnminified/Widgets/widgets.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">
  window.startup = async function (Cesium) {
    'use strict';
    Cesium.Ion.defaultAccessToken='你的Token';//采样默认的Token
    //Sandcastle_Begin
    const viewer = new Cesium.Viewer("cesiumContainer");

  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;
    window.startup(Cesium).catch((error) => {
      "use strict";
      console.error(error);
    });
  }
  </script>
</body>
</html>

效果: