SuperMap iClient for Flex自定义服务扩展开发 Su perMap iClient Flex 开发包除了能够支持Su perMap iServ er Jav a 内置GIS 服务,还具有客户端开发包的扩展能力,实现与Su perMap iServ er Jav a 服务端的领域空间信息服务进行对接或者对接其他第三方服务,本文以扩展一个获取数据源的数据集列表的服务为例简要介绍一下扩展开发。 客户端扩展开发流程 Su perMap iClient Flex 客户端提供扩展服务的API 方便Su perMap iClient Flex 对接新服务,Su perMap iClient Flex 扩展开发主要流程为: 1. 创建服务参数类 服务参数类是为了让开发人员直接调用Su perMap iClient Flex 客户端设置参数,而不需要关注如何编码转换、构造复杂的URL 等细节过程。 2. 创建结果类 发送 HTTP 请求后返回的结果一般为服务器端和客户端约定的数据格式,解析这个数据格式会让开发人员陷入复杂的各种格式的理解与掌握中,而无法关注业务及互操作。因此直接把结果参数封装为开发人员熟悉的客户端对象,通过查询 API 即可了解其组成并进行解析。 3. 创建服务类 服务类主要用于调用服务参数类,发送 HTTP 请求,获取返回结果类。把服务参数类及结果类进行调度,完成特定的功能需求。 扩展开发实例 下面通过 Su perMap iClient for Flex 中扩展一个服务类,实现与数据源的数据集列表REST接口对接。可以直接调用客户端扩展的接口获取Su perMap iServ er Jav a 数据源的数据集列表服务。开发环境为Adobe Flash Bu ilder 4。 1 、创建服务参数类 在创建服务参数类时,要根据服务器端接口进行设计,获取数据源中数据集列表服务只支持GET 操作,因此本例仅扩展对GET 操作的对接。 获取数据源的数据集列表服务需要传递一个参数数据源名字即可,因此设计服务参数类如下。 package com.supermap.extend { public class DatasetsListParameter { //数据源名 private var _datasource : String; public function DatasetsListParameter() { } public function get datasource():String { return _datasource; } public function set datasource(value:String):void { _datasource = value; } } } 2 、 创建结果类 结果类,对服务端返回结果进行封装。由于 Su perMap iServ er Jav a 服务端返回结果支持多种格式,默认是 JSON 而 Su perMap iC...