首页 / 浏览问题 / 三维GIS / 问题详情
使用SQL查询时总是加载feature失败
8EXP 2019年12月05日
用demo上的方法进行sql查询总是查询失败。如下

buttonSearch.onclick = function doSqlQuery(){
      
              var searchCarid = document.getElementById("selectbar").value;
            var getFeatureParam, getFeatureBySQLService, getFeatureBySQLParams;
            getFeatureParam = new SuperMap.REST.FilterParameter({
                attributeFilter: searchCarid
            });
            getFeatureBySQLParams = new SuperMap.REST.GetFeaturesBySQLParameters({
                queryParameter: getFeatureParam,
                toIndex : -1,
                //datasetNames: ["二维数据:" + "Building"]
                datasetNames: ["车B21","车B1","车B2"]
            });
            var url = 'http://192.168.100.95:8090/iserver/services/data-LanDaErYuanTingCheChang22/rest/data';
            getFeatureBySQLService = new SuperMap.REST.GetFeaturesBySQLService(url, {
                eventListeners: {
                    "processCompleted": onQueryComplete,
                    "processFailed": processFailed
                }
            });
            getFeatureBySQLService.processAsync(getFeatureBySQLParams);
        }

        function processFailed(queryEventArgs){
            alert('查询失败!');
        }

1个回答

报错提示什么呢?光看您的代码我看不出什么
6,215EXP 2019年12月05日

不报错,只是查询失败,在执行 

getFeatureBySQLService.processAsync(getFeatureBySQLParams);

这一句函数的时候,getFeatureBySQLParams数据如下面所示:

  1. datasetNames: (3) ["车B21", "车B1", "车B2"]
  2. queryParameter: initialize
    1. attributeFilter: "CARID == 甘A.78567"
    2. __proto__: Object
  3. toIndex: -1
  4. __proto__: Object

然后就是执行

 function processFailed(queryEventArgs){
            alert('查询失败!');
        }

这个函数了。

还有就是对数据服务进行SQL查询时需要对数据服务做什么设置吗?
您更改一下datasetNames和attributeFilter看一下,改成一个数据集,条件改成SMID试一下,感觉您这个像是没有查询到结果
还是不行,如果进行sql查询,三维场景在发布时候需要做什么操作或者设置吗??SuperMap.REST.GetFeaturesBySQLParameters这种地图查询方式在数据服务发布时有什么设置吗
因为我看到的demo都是二维map查询
发布的时候需要发布数据服务的,您有发吗
发布了,只是想问需要设置什么吗
不需要设置什么,只要里面有数据就可以。确实是二维的接口,但是走的是数据服务
...