首页 / 浏览问题 / WebGIS / 问题详情
classes缓存区查询有时报错有时正常
45EXP 2024年12月05日

使用产品:11i(2024) SP1 classes    iserver 11.2.0 windows-x64    win11 23H4

使用数据:文件型工作空间点数据

问题描述:缓存区查询时有时候报错,有时候正常运行,报错时连processCompleted和processFailed的方法都没有进入:

            let getFeatureParameter, getFeatureService;
            getFeatureParameter = new SuperMap.REST.GetFeaturesByBufferParameters({
                bufferDistance: 1000,
                datasetNames: datasetNames,
                fields: fields,
                returnContent: true,
                geometry: geometry,
                toIndex: 10000
            });
            getFeatureService = new SuperMap.REST.GetFeaturesByBufferService(TwoDMap.restDataUrl, {
                eventListeners: {
                    "processCompleted": function (queryEventArgs) {
                        // 显示结果....报错时没有进入该方法

                    },
                    "processFailed": TwoDProcessFailed// 报错时没有进入该方法
                }
            });
            getFeatureService.processAsync(getFeatureParameter);

报错信息:

1个回答

您好,您看看报错时featureResults.json请求是否发送,且请求是否成功。如果请求是成功的,只是这个接口无法正常返回,可以换成直接用iServer的api进行查询,参数设置可以参考:http://support.supermap.com.cn/DataWarehouse/WebDocHelp/iServer/mergedProjects/SuperMapiServerRESTAPI/root/data/featureResults/featureResults.htm#POST%20%E8%AF%B7%E6%B1%82

1,271EXP 2024年12月05日
这个问题解决了,还有一个问题,缓冲区的范围怎么给绘画出来,我看returnContent设置false,接口也没有返回缓冲区范围几何对象信息。
又有一个问题,通过new SuperMap.REST.GetFeaturesByBufferService返回的Feature和通过ajax直接调用api返回的Feature结构不同,大佬知道怎么将api返回的Feature转成new SuperMap.REST.GetFeaturesByBufferService返回的Feature的结构吗?
...