首页 / 浏览问题 / 三维GIS / 问题详情
单体属性话查询,点击不起作用
27EXP 2019年12月23日

我现在要实现一个我点击这个模型上的小棍棍(像火柴一项的东西),弹出卡片显示出对应的信息(但是点击事件不生效)按照这么写点击根本不触发。不知道为甚么望指教。

var scene = viewer.scene,
        // url = "http://localhost:8091/iserver/services/3D-single/rest/realspace",    //三维服务地址
        url2 = "http://10.25.111.179:8090/iserver/services/3D-DXGSsensor/rest/realspace/datas/CGQ26";      //数据服务地址
    var promise = scene.open(config.mapCGQ);
    Cesium.when(promise, function(layers) {
        var layer = scene.layers.find('CGQ26');       //绑定图层,图层名称可在三维服务地址下的datas中看
        layer.setQueryParameter({
            url: url2,
            dataSourceName: "CGQ26",                           //对应数据源名称,数据服务
            dataSetName:"CGQ26",                             //对应数据集名称,数据服务
            isMerge: true,
            keyWord: 'SmID'
        });
    })
    viewer.pickEvent.addEventListener(function(feature) {
        alert("pickEvent事件已生效");
    });

还有就是(我点击一个对应的属性让其模型高亮显示)(举个例子就比如模型上的火柴棍,有一个列表是火柴棍的名字,点击之后,定位到对应的模型并高亮显示)这个该怎么做或者有没有例子?

列表每个名字都对应一个模型(火柴棍)

1个回答

第一个问题,pickevent不生效就两个原因。1.layer未找到  2.setQueryParameter参数未填写正确。仔细检查一下

第二个问题,您点击左侧的名字的时候可以做一个查询,获取对应的ID,然后通过setSelection(id)来设置选择高亮,或者是通过setObjsColor(ids, color)来高亮
6,215EXP 2019年12月24日
我现在鼠标点击可以高亮显示了但是,我点击模型名称,定位到对应模型,并显示信息,这个该怎么做?

触发pickevent事件,事件中写上flyto和获取信息相关的代码。

显示信息你可以参考http://support.supermap.com.cn:8090/webgl/examples/editor.html#S3MTiles_BIM

...