Cesium中显示栅格数据查询结果

发布时间 2023-04-13 12:36:02作者: 一飞秒的爱

Cesium通过wms或者wmts服务加载发布的矢量数据,点选数据时会有一个属性框,如图:

而对于栅格数据则不会出现这个框,为了解决这个问题,需要创建一个空的Entity,当点击时就会出现这个框了。像这样:

 

实现方法参考了geoserver里面基于openlayer的图层预览:

        url = url
          + 'SERVICE=WMTS&REQUEST=GetFeatureInfo'
          + '&INFOFORMAT=' +  'text/html'
          + '&TileCol=' +  tileCol
          + '&TileRow=' +  tileRow
          + '&I=' +  tileI
          + '&J=' +  tileJ;
      
        if (url) {
          var xmlhttp = new XMLHttpRequest();
          xmlhttp.onreadystatechange = function() {
              if (xmlhttp.readyState == XMLHttpRequest.DONE ) {
                if (xmlhttp.status == 200) {
                    var entity = new Cesium.Entity();
                    entity.name='查询结果';
                    entity.description =xmlhttp.responseText;
                    viewer.selectedEntity = entity;
                }
                else {
                    document.getElementById('info').innerHTML = '';
                }
              }
          }
INFOFORMAT还可以使用application/json,这样可以自己构造表格,样式能够统一。