首页 / 浏览问题 / 三维GIS / 问题详情
webgl如何在场景中显示面对象
yyk
2EXP 2018年02月28日
webgl根据几个坐标点生成了一个polygon面对象,如何在场景中显示这个面对象

1个回答

您好,您可以参考cesium原生示例

https://cesiumjs.org/Cesium/Apps/Sandcastle/index.html?src=Geometry%20and%20Appearances.html&label=Showcases

关键代码:

entities.add({
    polygon : {
        hierarchy : new Cesium.PolygonHierarchy(Cesium.Cartesian3.fromDegreesArray([-118.0, 30.0,
                                                                                    -115.0, 30.0,
                                                                                    -117.1, 31.1,
                                                                                    -118.0, 33.0])),
        height : 300000.0,
        extrudedHeight : 700000.0,
        outline : true,
        outlineColor : Cesium.Color.WHITE,
        outlineWidth : 4,
        material : Cesium.Color.fromRandom({alpha : 1.0})
    }
});

5,560EXP 2018年02月28日
您好,请问用自己定义的几个点组成的面进行几何查询报  getFeatureByBuffer方法中传入的参数为空   是什么原因呢

空间查询的话,请参考我们官网的示例:

http://support.supermap.com.cn:8090/webgl/examples/editor.html#getFeatureByGeometry

这demo是把画出来的几何面传入到query方法里去查询,我现在往query方法里传自己用几个点构造出来的面却报错了,这是为什么呢
handlerPolygon.drawEvt.addEventListener(function(result) {
      tooltip.setVisible(false);
      handlerPolygon.polygon.show = false;
      handlerPolygon.polyline.show = false;
      var geometry = CesiumToSuperMap.convertPolygon(Cesium,
        SuperMap, result.object);
      query(geometry);
     });

这段代码里的CesiumToSuperMap类是什么呢?为什么在官网的API参考类里面找不到呢,在eclipse工作空间也搜索不到,除了这个之外,示例demo里的代码很多类很多方法为什么在api里都找不到呢,哪里有完整的api呢

空间查询实质上调用的是iServerREST的API。这个类是将Cesium的图形转换成Rest支持的geometry。在转换之后,会通过自定义的query()方法在REST中进行查询处理并返回结果。

REST API可以参考http://support.supermap.com.cn/DataWarehouse/WebDocHelp/iServer/index.htm

开始 > iServer 开发与扩展指南 > 使用 iServer API > 使用 REST API 

那这些在webgl的api里找不到的类跟方法要去哪里学习呢
为什么在整个帮助文档里都搜索不到这些类
这个类在<script src="./js/Convert.js"></script>中。你可以在相应的路径找到这个js并且查看内容。一般来说,只有需要调用RESTAPI方法的时候才有可能需要调用这个类。
这只是个例子,demo里还有好多类都找不到,比如scene.open()方法的返回值是promise,这个promise又是什么类型,他的api在哪里有呢
...