经纬志
首页 / Cesium / 使用示例

CZML 内嵌模型数据

把模型编码成 data URL 塞进 CZML,做到单文件自包含。

CesiumJS 1.121 · 更新 2026-10-28
源码与运行效果
运行效果

data URL 的结构

data:model/gltf-binary;base64, 后面接 base64 字符串。CZML 的 gltf 字段只要能当资源地址解析就行,不要求必须是 http 地址。

代价

base64 编码后体积约为原始的 1.33 倍,而且无法被浏览器单独缓存。模型只有几十 KB 时方便,几 MB 时不划算。

环节做法注意
字节 → base64btoa 分块拼接避免一次传超大数组
拼接前缀data:model/gltf-binary;base64,MIME 要写对
写入 CZMLmodel.gltf整串当普通字符串

btoa 只接受 Latin-1 字符,二进制数据必须先转成字符串;直接把 JSON 里的中文去做 base64 会抛异常。