首页 / 浏览问题 / 云GIS / 问题详情
几何查询GetFeaturesByGeometryParameters
43EXP 2020年04月14日

使用产品:iClient for OpenLayers 10i
问题详细描述:请问几何查询new SuperMap.GetFeaturesByGeometryParameters(options),geometry参数如何实现多面查询,我看这个说明只支持

1个回答

您好,您说的多面查询 是指的多个geometry做查询条件吗?目前该接口中geometry参数只能接受一个几何对象,如果您的意思是想进行多个geometry查询,可以封装该查询接口,写个异步函数,对多个对象依次查询。

或者您的意思是想查询几何geometry合并后的相交的要素,可以先将多个geometry进行叠加分析,UNION操作进行合并,然后返回的geometry再进行几何查询
3,352EXP 2020年04月14日

好的,我试下,还有个问题如果用SuperMap.Geometry.Polygon的面会报错,

如果您那边使用的是openlayer,建议您使用var polygon = new ol.geom.Polygon([[[0, 0], [-30, 0], [-10, 30], [0, 0]]]);  这种方式构造,

或者利用ol.interaction.Draw进行绘制,然后监听绘制完成事件

  draw.on('drawend',(e)=>{

        if (draw) {

                map.removeInteraction(draw);

            }

        console.log(e.feature.getGeometry())})
可是我的geometry是supermap的,因为我做的二三维一体化,用的WebGL+openlayers结合,openlayers有提供方法将supermap的转为ol的吗
...