Arcgis API for JavaScript学习笔记之Task(任务)的实例
task(任务):
比如我们在日常生活中,要在 word 做一个打印的操作,这个打印操作就是一个task。在做打印的时候,我们首先要有打印机,这个是肯定的,然后在打印的时候,我们要设置打印的参数,比如纸张的大小,打印的份数,是否彩色打印等等,将参数设置完毕后,打印机将按照这些参数进行打印,最后我们从打印机中获取要门所要打印的文档。
如果将这个过程抽象出来,我们可以抽象为这三个部分:打印机,参数,执行结果,其中打印机是执行对象,它是根据设置的打印参数来执行,最后给出我们一个反馈结果。
在 arcgis api for javascript 中的任务跟这个过程类似,不同的任务都会有一个执行对象,还有一个对象的参数设置对象,执行对象在整个执行过程还可能返回一些状态信息,在执行结束后将告诉我们这个任务是否执行成功,如果成功的话,那么我们就可以得到结果了,失败的话,可以通过检查任务失败的错误提示信息进行检查。
通过上面的介绍,我们可以得出一个任务操作所需要的步骤:
1、 实例化一个执行对象;
2、 设置执行对象的参数对象;
3、 设置执行成功和失败的处理函数,这两个函数的本质其实就是回调函数,执行对象分别有运行失败和成功的事件,当这两个事件被触发,自动回调相应的函数,并传入相关信息;
4、 如果失败,根据错误信息,对程序进行排错处理;
5、 如果成功,从返回结果中得到我们想要的信息。
查询任务:
1.class: querytask
executes a query operation on a layer resource of a map service exposed by the arcgis server rest api.//进行空间和属性查询的类,输入服务图层url和query参数。querytask 以 query 为执行参数,空间查询和属性查询的设置都是在 query 对象上进行,querytask 的过滤条件除了属性过滤,同时还支持空间过滤。
querytask.execute(parameters, callback, errback)//执行查询
class: query
query for input to thequerytask. not all query properties are required to execute a querytask. the query definition requires one of the following properties: querygeometry, text, or where. optional properties includeoutfields,outspatialreference, andreturngeometry.//是querytask的执行参数
2.class: findtask
search a map service exposed by the arcgis server rest api based on a string value. the search can be conducted on a single field of a single layer, on many fields of a layer, or on many fields of many layers.//findtask 是在某个地图服务中进行属性查询的功能类,findtask 以 findparameters 对象作为参数,能查询同一个地图服务的一个或者多个图层,并且可以在多个字段中进行查询,findtask 仅仅用于属性信息的查询
class: findparameters
this data object is used as the findparameters argument to findtask.execute method. it specifies the search criteria for a find operation.
3.class: identifytask
identifytask 以 identifyparameters 对象作为参数,能查询同一个地图服务的一个或者多个图层, identifytask 仅仅用于空间信息查询。
class: identifyparameters
this data object is used as the identifyparameters argument to identifytask.execute method. it specifies the criteria used to identify the features.
上一篇: Python 开发环境搭建步骤方法
下一篇: Java CAS底层实现原理实例详解