kx
SuperMap iClient3D for WebGL支持多子域加载地形、影像、S3M以及MVT。下面我们来看看主要实现方式:
使用到的接口以及主要代码:
1、加载地形:
var viewer = new Cesium.Viewer('cesiumContainer',{
terrainProvider:new Cesium.CesiumTerrainProvider({
url:'http://{s}/iserver/services/3D-SiChuanDiXingYingXiang/rest/realspace/datas/DatasetDEM',
isSct : true,
subdomains:['localhost:8081','localhost:8082','localhost:8083'],
invisibility:true
})
});
2、影像:
var imageLayer = viewer.imageryLayers.addImageryProvider(new Cesium.SuperMapImageryProvider({
url:"http://{s}/iserver/services/3D-SiChuanDiXingYingXiang/rest/realspace/datas/MosaicResult",
subdomains:['localhost:8081','localhost:8082','localhost:8083']
}));
viewer.flyTo(imageLayer);
3、S3M:
var promise = scene.open("http://{s}/iserver/services/3D-CBD/rest/realspace",undefined,{
subdomains:['localhost:8090','localhost:8092']
});
viewer.flyTo(promise);
4、MVT:
var mvtMap = scene.addVectorTilesMap({
url:"http://{s}/iserver/services/map-mvt-GLDZJSYDSPDKBZD/restjsr/v1/vectortile/maps/GL_DZ_JSYDSP_DKB_ZD",
subdomains:['localhost:8081','localhost:8082','localhost:8083'],
canvasWidth:512,
name:'testMVT',
viewer:viewer
});
使用到的属性:subdomains: 获取或者设置子域名称。通过该接口可以向指定的子域请求数据。
效果如下(以加载S3M为例):
加载8090子域:
加载8092子域: