经纬志
首页 / Cesium / API 文档

CesiumWidget

先看结论

最小可用的三维地球:一个场景加一条渲染循环,没有工具按钮、没有时间轴、 也没有 Entity 与数据源封装。

最后验证 2026-11-03 · CesiumJS 1.121 · 更新 2026-10-28 · 引用本文
new Cesium.CesiumWidget(container, options)

构造参数

参数类型默认说明
containerElement | string必填DOM 元素或其 id,画布会铺满
options.baseLayerImageryLayer | falseion 影像底层影像,false 表示不加载也不请求 ion
options.terrainTerrain椭球体地形服务,新版写法
options.terrainProviderTerrainProviderEllipsoidTerrainProvider地形,旧式写法,仍可用
options.sceneModeSceneModeSCENE3D初始模式,可设为 SCENE2D 或 COLUMBUS_VIEW
options.skyBoxSkyBoxion 星空星空盒;网络受限时设为 false 更稳妥
options.skyAtmosphereSkyAtmosphere默认大气大气层对象
options.globeGlobe | false默认 Globefalse 表示不要地球,只画图元
options.useDefaultRenderLoopbooleantrue自动 requestAnimationFrame 循环
options.targetFrameRatenumber—限制帧率上限
options.requestRenderModebooleanfalse按需渲染
options.shadowsbooleanfalse是否开启阴影

常用成员与方法

成员类型 / 返回说明
sceneScene场景对象,所有渲染相关操作从这里进
canvasHTMLCanvasElement画布,事件绑定的目标
containerElement外层容器
useDefaultRenderLoopboolean改为 false 后需自己调用 render()
targetFrameRatenumber帧率上限
resize()—容器尺寸变化后手动重算画布
render()—手动渲染一帧
destroy() / isDestroyed()— / boolean销毁并释放 WebGL 资源

示例

// 一个没有工具按钮、没有 ion 依赖的干净地球
var widget = new Cesium.CesiumWidget('map', {
  baseLayer: false,
  skyBox: false,
  sceneMode: Cesium.SceneMode.SCENE3D,
  useDefaultRenderLoop: true
});

var scene = widget.scene;
scene.globe.baseColor = Cesium.Color.fromCssColorString('#1b2735');
scene.skyAtmosphere.show = false;
scene.sun.show = false;

// 自己加图元:CesiumWidget 没有 entities,要用 primitives
scene.primitives.add(new Cesium.PointPrimitiveCollection()).add({
  position: Cesium.Cartesian3.fromDegrees(116.391, 39.907, 0),
  pixelSize: 10,
  color: Cesium.Color.CYAN
});

// 容器尺寸变化后必须手动通知
window.addEventListener('resize', function () {
  widget.resize();
});

注意事项

  • 没有 entities、dataSources、clock 封装,业务对象要自己用 primitives 或另建 EntityCollection。
  • 没有内置的 resize 监听,容器尺寸变化后画面会被拉伸,需自行调用 widget.resize()。
  • 没有版权容器与错误面板,ion 资源加载失败时不会在界面上提示,需要自己处理 baseLayer: false。
  • 销毁时不会连带销毁你加入 scene 的图元,切换页面要按加入顺序清理。
引用本文

经纬志(2026)。《CesiumWidget》。https://www.jingweizhi.com/cesium/api/cesium-widget.html(访问日期 2026-11-03)。