首页 / 浏览问题 / 三维GIS / 问题详情
Viewer.pickEvent.addEventListener没有反应
11EXP 2022年08月17日

使用产品: SuperMap iClient3D for Cesium  操作系统:win10 x64

数据类型 osgb

问题描述:图层已经正确添加,setQueryParameter参数也已经设定,数据服务一切正常。但是不能触发pickEvent事件

1个回答

您好,

对于点击之后,建议您这边查看一下请求的发送情况

确认请求是否发送,如果发送成功,发送时间大概是多少?

最后,

您这个WebGL的版本是多少?如果比较早了,您那边是否方便更换版本
4,151EXP 2022年08月17日
请求没有发送,是因为什么呢
请求没有发送成功大抵有两点原因:

1.您这边的参数可能没设置正确,未达要求

2.您这边使用的版本可能有问题

您可以尝试,更换版本,上传部分代码
  var scpPromise = window.Viewer.scene.open(
        "http://192.168.253.36:8090/iserver/services/3D-PaiShuiMoXing1012/rest/realspace",
        undefined,
        {
          autoSetView: false, //不自动定位
        }
      );
       Cesium.when(scpPromise, function(layers) {
          var c = "";
          if(year < 100){
            c = "T00"+ year
          }else{
            c= "T0" + year
          }
          var layer = window.Viewer.scene.layers.find(c); //绑定图层,图层名称可在三维服务地址下的datas中看
          layer.visible = true;
          console.log("layer",layer)
          layer.setQueryParameter({
              url: "http://192.168.253.36:8090/iserver/services/data-PaiShuiYanMeiMoXingShuJu/rest/data",
              dataSourceName: "排水淹没模型数据", //对应数据源名称,数据服务
              dataSetName: c, //对应数据集名称,数据服务
              keyWord: "SmID",
            });
        }
);
  window.Viewer.pickEvent.addEventListener(function (feature) {
        console.log("已生效")
      })

参数已经在超图mod中测试过,没有问题,但是pickEvent仍不生效

建议查看示例,核对并按照您这边的方法去在示例中尝试。

我这边通过示例去测试是没有问题的。

如果示例也不行的话,建议您这边更换一个webgl包再进行尝试
...