开发工具与关键技术:SuperMap iDesktop 10i、地图SQL查询
作者:木有窝的鸟~小通
撰写时间:2020年5月6日
地图有各类查询,在Superman平台包括SQL查询、范围查询、几何查询和距离查询这些查询。提供支持了GIS服务,那么就是iServer的地图REST服务。
首先使用SQL查询得了解几大方面内容。
- iServer Java 的Map资源服务地址。
- SQL查询的主要接口。
- QueryBySQLService构造函数以及属性。
- QueryBySQLParameters SQL查询参数类
- QueryEventArgs 查询服务事件数据类
- QueryResult查询服务结果类
3 . 获取结果
一、Map服务地址URL,一般根据这样的情况书写:如
http://localhost:8090/iserver/services/map-world/res t/maps/World Map
二、主要接口
(1)QueryBySQLService 是SQL查询服务类
Var myQueryBySQLService = new SuperMap.REST.QueryBySQLService(url, {eventListeners: {“processCompleted”: query Completed, “processFailed”: queryError}});
构造函数QueryBySQLService (URI,options);
其重要三大属性包括events、eventListeners和processAsync。
Events:
{SuperMap.Events} 在 QueryService 类中处理所有事件的对 象,支持两种事件 processCompleted 、processFailed ,服务 端成功返回查询结果时触发 processCompleted 事件,服务 端返回查询结果失败时触发 processFailed 事件
eventListeners:
{Object} 监听器对象,在构造函数中设置此参数(可选), 对 QueryService 支持的两个事processCompleted 、 processFailed 进行监听,相当于调用 SuperMap.Events.on(eventListeners)。
processAsync:
负责将客户端的查询参数传递到服务端。
(2)QueryBySQLParameters 是SQL 查询参数类构造函数
常用参数:
expectCount:期望返回结果记录个数
queryParams:查询过滤条件参数数组
customParams:自定义参数,供扩展使用
startRecord:查询起始记录号
。。。其他请到官网JavaScript API 中参考。
(3)QueryResult是SQL查询结果类。
常用参数:
totalCount:符合查询条件的记录的总数。
currentCount:当次查询返回的记录数。
Recordsets:结果记录集数组。
。。。其他请到官网JavaScript API 中参考。
我的案例实例:
三、获取结果
// 获取feature将其显示在featureLayer上。 var feature = new SuperMap.Feature.Vector(); feature = result.recordsets[i].features[k]; feature.style = style; vectorLayer.addFeatures([feature]);
我的案例实例: