首页 / Cesium / 使用示例
自定义瓦片影像提供者
官方的 ArcGIS MapServer 示例从远程服务取瓦片。这里用同一套接口,把每个瓦片换成 canvas 现画,调用方式完全一致。
源码与运行效果
一个影像提供者要实现什么
最少要有 tilingScheme、rectangle、tileWidth、tileHeight、maximumLevel 和 requestImage。Cesium 调用 requestImage(x, y, level) 取图,返回 canvas 或 Image 都可以。
示例把提供者写成普通对象,省掉了继承,字段一一对应就能被影像图层接受。
怎么判断瓦片位置
在 Web 墨卡托切片方案下,用 tilingScheme.tileXYToRectangle(x, y, level) 把切片号换算成经纬度范围,再按范围在 256×256 的画布上画出网格、经纬度和色带。
可以直接改的地方
| 位置 | 改什么 | 效果 |
|---|---|---|
maximumLevel | 5 改成 3 | 切片更少、细节更糊 |
requestImage | 改画布上的绘制内容 | 瓦片图案 |
tilingScheme | WebMercatorTilingScheme / GeographicTilingScheme | 切片方式 |
出错不报红:提供者的 readyPromise 只是为了兼容旧接口;请求失败时影像层会整层不显示,排查时先看控制台的网络与异常信息。