因为客户要求,需要在cesium中加载某省份天地图,因为之前一直都是加载全国天地图,所以从头到尾还是遇到不少问题,在网络上也没有找到非常详细的教程,故记录一下。
数据查找
以福建省天地图为例,从天地图官网选择省级节点,选择需要的省份,进入对应的省级天地图官网
进入后,选择开发资源-资源中心,进入
此处以福建省2023年多时相影像底图为例,复制对应在线地址,我们就算获取到对应福建省天地图影像地图的地图api了
ceisum中加载
与正常加载天地图无异,需要注意的是,需要按我代码里的添加tileMatrixLables和tilingScheme参数,具体含义我都写在注释里了
viewer.imageryLayers.add(new Cesium.ImageryLayer(new Cesium.WebMapTileServiceImageryProvider({
url: `http://service.fjmap.net/vec_fj/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=img&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}&style=default&format=tiles&tk=${token}`,
layer: "tdtBasicLayer",
style: "default",
tileMatrixLabels : ['1','2','3','4','5','6','7'], //福建省天地图只支持七个等级的缩放等级,所以这里只写到7,如果加载的是全球地图应该是要写到18。具体的可通过查询源数据的切片规则来获取。参数的具体意义可以查看 https://www.cnblogs.com/masakulayou/p/18044522
format: "image/jpeg",
tilingScheme:new Cesium.GeographicTilingScheme(), // 修改切片方案为地理切片
tileMatrixSetID: 'default028mm'
})));
结果
最终的结果就是这样了,注记懒得加了,出来就是这么个效果