Supermap WebGL 图层加载逻辑

1、打开场景,按需对图层进行显隐(适合单个服务内图层数量较少情况)

对应前端代码:

viewer.scene.open(URL) //打开场景

layer.visible = true; //对应图层设置可见

layer.visible = false; //对应图层设置不可见

2、根据需要单个加载图层(适合单个服务内图层数量较多情况)

对应前端代码:

var sceneName = url.substring(url.indexOf("3D-") + 3, url.indexOf("/rest"));

var layerspath = url + "/scenes/" + sceneName + "/layers.json";

commit.open("GET", encodeURI(layerspath), false, "", "");

commit.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");

commit.send(null);

var layersInfo = json_parse(commit.responseText, null);

viewer.scene.addS3MTilesLayerByScp(url + "/datas/" + layerName + "/config", { name: layerName });  //加载单个图层

viewer.scene.layers.remove(layerName);  //移除图层

3、后台请求数据,前端渲染图形(适合二维数据且查询较快的情况)

对应前端代码:

queryGeometry(tableName, where, database).then((res) => { //查询后台数据

    if (res.resultStat === "SUCCESS") {

        let resultFeatures = res.data;

        ellipseEntity = viewer.entities.add({ //添加几何实体
                position : resultFeatures ,
                ellipse : {
                    semiMinorAxis : 20.0,
                    semiMajorAxis : 40.0,
                    height : 0,
                    extrudedHeight : 50.0,
                    material : color,
                    granularity : Cesium.Math.RADIANS_PER_DEGREE,
                    rotation : 0,
                    fill : true,
                    outline : false,
                    outlineColor : Cesium.Color.BLACK,
                    outlineWidth : 4
                }
        });

    } 

});

viewer.entities.remove(ellipseEntity); //去除几何实体
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值