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,这样可以自己构造表格,样式能够统一。
标签:xmlhttp,url,entity,栅格数据,Cesium,查询 From: https://www.cnblogs.com/yifeimiao/p/17314293.html