cesiumjs中可定制多种图层,可以使用www上很多地图提供商的图层数据,也可以使用自己的地图数据。cesiumjs的地图图层本质上是一些瓦片数据。
对于地图瓦片数据,OGC(Open Geospatial Consortium开放地理联盟)有很多标准,如TMS、WMTS、各个商业公司也有自己的内部标准。
如果需要自己提供地图图层数据,就需要自己实现一个imageryProvider并赋予viewer的imageryProvider属性。
比如楼主本地有一个支持WMTS1.0 的server提供的service,为了使cesium能消费这个service提供的数据,楼主的WMTSImageryProvider.js实现如下:
var WMTSImageryProvider = function WMTSImageryProvider(description) {
var trailingSlashRegex = /\/$/;
var defaultCredit = new Cesium.Credit('WMTS');
description = Cesium.defaultValue(description, {});
var url = Cesium.defaultValue(description.url, 'http://localhost:88/wmts');
if (!trailingSlashRegex.test(url)) {
}
this._url = url;
this._fileExtension = Cesium.defaultValue(description.fileExtension, 'png');
this._proxy = description.proxy;
this._tileDiscardPolicy = description.tileDiscardPolicy;
this._tilingScheme = new Cesium.WebMercatorTilingScheme({
numberOfLevelZeroTilesX : 1,
numberOfLevelZeroTilesY : 1
});
this._tileWidth = 256;
this._tileHeight = 256;
this._minimumLevel = Cesiu