ArcGIS API for JavaScript 4.2学习笔记[31] (补充学习)Task类
Task这个东西很有用,是AJS中用于解决各种乱七八糟任务的一个类。它有很多子类,有用于空间分析的,有用于空间查询的,等等。
这篇作为补充学习的第一篇,也是进阶学习的第一篇,我就改个写法。
我将使用思维导图,更好呈现逻辑信息。
Task类的继承关系
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个类
(未完待续)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!