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查询大概就这样了,剩下的到时候再说吧。(上面的图片来自网络)