首页 / 浏览问题 / WebGIS / 问题详情
iserver数据查询服务无法传入geometry问题
30EXP 2023年05月29日

使用产品:iserver 11c

问题详细描述:我先利用sql数据查询服务获得feature,再利用sql查询得到的几何范围做集合查询,传入geometry时报错:

调用代码如下:

queryByGeometry(geo){
        var geometryParam = new L.supermap.GetFeaturesByGeometryParameters({
            datasetNames: [this.GridConfigList[0].children[0].title],
            geometry: geo,//polygon,
            spatialQueryMode: "CONTAIN"
        });
        console.log(geometryParam.geometry)
        new L.supermap
            .FeatureService(this.GridConfigList[0].children[0].url)
            .getFeaturesByGeometry(geometryParam, function (serviceResult) {
              if (!serviceResult || serviceResult.error) {
          reject(serviceResult && serviceResult.error);
        } else {
          resolve(serviceResult.result);
        }
            });
    }

1个回答

您好,GetFeaturesByGeometryParameters中的geometry需要符合GeoJSONObject格式,有以下类型,如果是多边形,可以用L.Polygon()。

API文档:https://iclient.supermap.io/web/apis/leaflet.html

参考官网示例:https://iclient.supermap.io/examples/leaflet/editor.html#02_getFeatureByGeometry

1,865EXP 2023年05月29日
您好,谢谢你的回答,意思是需要把查询到的结果转换为L.geoJson再进行查询?
看查询结果是否符合geometry要求,根据报错应该是传入的对象问题
...