Task类的继承关系

ArcGIS API for JavaScript 4.2学习笔记[31] (补充学习)Task类-LMLPHP

Task类继承自Accessor类,它又有17个子类。别担心,各取所需,很少能用上超过5个子类的AJS程序,除非是一个超大的AJS集成系统。

以上有我熟知的QueryTask、RouteTask、FindTask、Geoprocessor、IdentifyTask和Locator。

其中,根据名字和经验,可能还会经常用到的有:ServiceAreaTask、ClosestFacilityTask、GeometryService和ImageServiceIdentifyTask这几个,前面两个和RouteTask是同属于网络分析的。

到补充学习这段,就不再详细介绍代码了,要介绍也是提取关键代码进行剖析。

熟知的已用过的6个类

首先介绍一下熟知的这几个Task子类,分别从“有什么用”、“怎么实例化”、“配套的类”三个方面叙述,具体的用法,请查阅官方API和相关例子:

【QueryTask】【RouteTask】【FindTask】【Geoprocessor】【IdentifyTask】【Locator】(超链接到我的博客)

直接上个大表格:

类名\区分项

有什么用

怎么实例化

(ArcGIS Server服务)

配套的类主要方法与返回值类型
QueryTask空间查询 

FeatureServer

MapServer

Query

QueryResult

query()

QueryResult

RouteTask路径分析  NAServer

RouteParameters

RouteResult

solve()

RouteResult

FindTask空间查找 MapServer 

FindParameters

FindResult

execute()

FindResult

Geoprocessor

地理处理

GIS常见分析

 GPServer ParameterValue

submitJob()

execute()

Object

IdentifyTask识别  MapServer

IdentifyParameters

IdentifyResult

execute()

IdentifyResult[]

Locator定位    

于是我就有点郁闷,有几个是类似的,IdentifyTask、FindTask和QueryTask。

//交流中发现:IdentifyTask单用于识别,不特长于Geometry属性表的查询;

FindTask专注于属性字段的查询;

而QueryTask则更专注于几何要素的查询(功能更强大)。

从参数类Query、FindParameters、IdentifyParameters的字段数就可以大致判别了。感谢我的导师——何津。

然后再看看其他这4个类

(未完待续)

05-04 02:24