在线的天地图,发布的有两种切片投影格式,一个是 国家2000的坐标系,另一个是 Web Mercator的坐标系,通常我们在开发的时候,用的比较多是Web Mercator的坐标系切片。
在Cesium中,加载Web Mercator的切片作为底图,只需要按照一定的服务形式进行切片配置,代码如下:
imageryProvider: new Cesium.WebMapTileServiceImageryProvider({url:"/img_w/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=img&tileMatrixSet=w&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}&style=default&format=tiles&tk=<your token>",enablePickFeatures: false})
在以上的代码中,并不需要设置坐标系的参数,直接就能够加载进来,把切片的地址换成 国家2000,就会出现切片加载不正常,有些地方不能加载的问题。
查看Cesium的API,可以设置影像图层的tilingScheme属性,
设置成球面的切片方案,这样就能加载非Web Mercator形式的切片了。
_tileScheme = new Cesium.GeographicTilingScheme();
但是,在这样设置完以后,发现还是请求的不对,地图的级别和实际的切片级别差一个级别,又设置图层的最小级别,也并没有起作用,所以,这还需要进一步研究。
不过,理解了Cesium的切片设置方式,同时,CGCS2000和Web Mercator在视觉上最主要的区别就是,地图在全图的情况下,一个是长方形的,另一个是正方形。
更多文章请关注公众号查看!