SuperMap iClient3D for WebGL多子域加载

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子域:
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
对于你的问题,我可以给出以下建议: 1. 首先,确保你已经获得了 SuperMap iClient3D for WebGL 的许可证,并已经安装在你的系统上。 2. 然后,你需要创建一个基本的 HTML 页面,以便加载 SuperMap iClient3D for WebGL 的 JavaScript 文件。 3. 通过调用 SuperMap 的 JavaScript API,你可以使用 addLayer() 函数将场景加载到你的页面上。你可以使用以下代码示例来加载一个场景: var sceneLayer = new SuperMap.Layer.SceneLayer(); var layerUrl = "http://localhost:8090/iserver/services/3D-WebGL/rest/realspace"; sceneLayer.url = layerUrl; map.addLayer(sceneLayer); 4. 可以使用 setCameraPosition() 函数设置场景的相机位置和方向。你可以使用以下代码示例来设置相机位置和方向: var cameraPosition = new SuperMap.WebRealspace.CameraPosition(); cameraPosition.longitude = -95.34222; cameraPosition.latitude = 29.73972; cameraPosition.altitude = 2500; cameraPosition.heading = 25.0; cameraPosition.tilt = 25.0; cameraPosition.roll = 0.0; realspace.setCameraPosition(cameraPosition); 5. 最后,你可以使用 setCameraLookAt() 函数设置场景的观察位置。你可以使用以下代码示例来设置观察位置: var cameraLookAt = new SuperMap.WebRealspace.CameraLookAt(); cameraLookAt.longitude = -95.34222; cameraLookAt.latitude = 29.73972; cameraLookAt.altitude = 0; realspace.setCameraLookAt(cameraLookAt); 希望以上建议能够帮助你解决问题。如果你有任何其他问题,请随时问我。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值