SuperMap GIS的二次开发是在地图的基础上开发使用一些功能,让人更加方便的使用地图。功能中当然有查询,而查询分类有:1、地图查询 2、数据查询。
地图查询主要针对地图中的数据进行的各类查询:SQL查询、范围查询、距离查询、几何查询。支持的GIS服务:iServer的地图REST服务。使用的查询接口:SuperMap.REST.Query***
数据查询主要针对数据集进行的各类查询:SQL查询、缓存查询、ID查询、几何查询。
查询过程主要分为三步,如图:
下面我们来说一下SQL查询,它的主要接口有如图:
第一步我们先设置查询参数:
var queryParam, queryBySQLParams, queryBySQLService;
//FilterParameter 必设 name(查询地图图层名),attributeFilter(SQL 条件语句)也为必设 queryParam = new SuperMap.REST.FilterParameter({ name: "BaseMap_R@jingjin", attributeFilter:"Pop_1999>50",
fields:["SMID","NAME","Pop_1999"] }), //QueryBySQLParameters 参数必设queryParams
queryBySQLParams=newSuperMap.REST.QueryBySQLParameters({ queryParams: [queryParam] });
第二步提交请求:
function query(){【其他代码省略】 //设置查询参数//与服务器交互queryBySQLService = new SuperMap.REST.QueryBySQLService (url,{eventListeners: {"processCompleted": processCompleted,"processFailed": processFailed}});queryBySQLService.processAsync(queryBySQLParams);
第三步获取结果并呈现:
// 获取feature将其显示在featureLayer上。
var feature = new SuperMap.Feature.Vector();feature = result.recordsets[i].features[k];feature.style = style; vectorLayer.addFeatures([feature]);
SQL查询大概就这样了,剩下的到时候再说吧。(上面的图片来自网络)