影像加载
约 243 字小于 1 分钟
2025-10-21
加载天地图影像
function loadTDT(viewer, node) {
let tdtUrl = "https://t{s}.tianditu.gov.cn/"; // 天地图
let subdomains = ["0", "1", "2", "3", "4", "5", "6", "7"];
// 如果node.mapid不为null,则从viewer的imageryLayers中移除该ID对应的图层。
if (node.mapid != null) viewer.imageryLayers.remove(node.mapid, false);
// 向viewer的imageryLayers添加一个新的影像提供者,并将其ID赋值给node.mapid
node.mapid = viewer.imageryLayers.addImageryProvider(
new Cesium.UrlTemplateImageryProvider({
url: tdtUrl +
"DataServer?T=" +
node.mapStyle +
"&x={x}&y={y}&l={z}&tk=" +
node.token,
subdomains: subdomains,
tilingScheme: new Cesium.WebMercatorTilingScheme(),
maximumLevel: 18,
})
);
}
// URL模板中的{s}会被替换为subdomains数组中的一个元素,也就是一个子域名。这意味着,每次请求影像数据时,都会从这八个子域名中选择一个来用。加载地形
function loadTIN(viewer, node) {
let terrainProvider = new Cesium.CesiumTerrainProvider({
url: data_url,
isSct: true, // 表示使用SCT(Scaled and Offset Terrain)地形数据格式
requestVertexNormals: true, // 表示是否请求顶点法线信息
requestWaterMask: true, // 表示是否请求水面遮罩信息
});
viewer.terrainProvider = terrainProvider;
}