首页 / Cesium / 使用示例
CZML 内嵌模型数据
把模型编码成 data URL 塞进 CZML,做到单文件自包含。
源码与运行效果
data URL 的结构
data:model/gltf-binary;base64, 后面接 base64 字符串。CZML 的 gltf 字段只要能当资源地址解析就行,不要求必须是 http 地址。
代价
base64 编码后体积约为原始的 1.33 倍,而且无法被浏览器单独缓存。模型只有几十 KB 时方便,几 MB 时不划算。
| 环节 | 做法 | 注意 |
|---|---|---|
| 字节 → base64 | btoa 分块拼接 | 避免一次传超大数组 |
| 拼接前缀 | data:model/gltf-binary;base64, | MIME 要写对 |
| 写入 CZML | model.gltf | 整串当普通字符串 |
btoa 只接受 Latin-1 字符,二进制数据必须先转成字符串;直接把 JSON 里的中文去做 base64 会抛异常。