作者:Carlo
前情:我们在做查询的时候,如果数据量很大的话,往往查询的结果不会返回所有,一般我们是只返回部分少量数据,如果想要返回所有数据应该怎么做呢?接下来我将介绍一个简单的方式。
- 方法一:首先我们可以通过前端代码来设置查询过滤条件,在代码中增加一句:toIndex:-1(-1代表返回查询到的所有值)。
function putEventPoint() {
vectorLayer.removeAllFeatures();
var getFeatureParam, getFeatureBySQLService, getFeatureBySQLParams;
getFeatureParam = new SuperMap.REST.FilterParameter({
name: ["主城区德邦物流点@transport","主城区申通物流点@transport","主城区顺丰物流点@transport","主城区圆通物流点@transport","主城区韵达物流点@transport","主城区中通物流点@transport"],
fields:["经度","纬度","所属公","网点名","类型"]
});
getFeatureBySQLParams = new SuperMap.REST.GetFeaturesBySQLParameters({
queryParameter: getFeatureParam,
toIndex:-1,
datasetNames: ["transport:主城区德邦物流点","transport:主城区申通物流点","transport:主城区顺丰物流点","transport:主城区圆通物流点","transport:主城区韵达物流点","transport:主城区中通物流点"]
});
getFeatureBySQLService = new SuperMap.REST.GetFeaturesBySQLService(url1, {
eventListeners: {"processCompleted": eventprocessCompleted, "processFailed": processFailed}
});
getFeatureBySQLService.processAsync(getFeatureBySQLParams);
}
- 方法二:如果代码繁多、功能复杂,可以直接通过修改配置文件来设置查找返回的值最大条数,在iserver的安装目录下找到/webapps/iserver/WEB-INF中的iserver-services.xml,找到MaxFeature属性,从1000改大成自定义的数值后保存文件,再重启iserver就可以了。
最后我们看看效果: