# QueryArcServer
查阅Cesium API

#### new mars3d.query.QueryArcServer(options)
query/QueryArcServer.js 25

ArcGIS WFS矢量服务查询类

参数名称 | 类型 | 描述信息
--- | --- | ---
`options` | object | * | 参数对象，包括以下：
参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`url` | string |  | ArcGIS服务地址, 示例：'http://server.mars3d.cn/arcgis/rest/services/mars/hefei/MapServer/37'
`token` | string |  | 可选 用于通过ArcGIS MapServer服务进行身份验证的ArcGIS令牌。
`pageSize` | number | `10` | 可选 每页条数 *
`headers` | object | `{}` | 可选 将被添加到HTTP请求头。
`proxy` | Cesium.DefaultProxy |  | 可选 加载资源时使用的代理。 //以下是GeoJsonLayer图层参数
`id` | string | number | `createGuid()` | 可选 赋予给layer图层，图层id标识
`pid` | string | number |  | 可选 赋予给layer图层，图层父级的id，一般图层管理中使用
`name` | string |  | 可选 赋予给layer图层，图层名称
`symbol` | object | function |  | 可选 赋予给layer图层，图层矢量数据的style样式，参考`GeoJsonLayer`
`graphicOptions` | object |  | 可选 赋予给layer图层，图层默认的graphic的构造参数，参考`GeoJsonLayer`
`popup` | string | Array.<Globe.getTemplateHtml_template> | function |  | 可选 赋予给layer图层，图层绑定的popup弹窗值，参考`GeoJsonLayer`
`tooltip` | string | Array.<Globe.getTemplateHtml_template> | function | object |  | 可选 赋予给layer图层，图层绑定的tooltip弹窗值，参考`GeoJsonLayer`

##### 参考:

- `支持的事件类型`

### 继承自

- BaseClass

### 属性值

#### 只读 allCount : number
query/QueryArcServer.js 93

总记录数

#### 只读 allPage : number
query/QueryArcServer.js 102

总页数

#### enabledEvent : boolean
core/BaseClass.js 32

设置事件的启用和禁用状态

继承自:
  - BaseClass#enabledEvent

#### 只读 layer : GeoJsonLayer
query/QueryArcServer.js 125

用于显示查询结果的GeoJsonLayer图层，图层参数在当前类构造方法中传入

#### 只读 options : object
core/BaseClass.js 18

当前类的构造参数

继承自:
  - BaseClass#options

#### 只读 pageIndex : number
query/QueryArcServer.js 111

页码，当前第几页

#### pageSize : number
query/QueryArcServer.js 80

分页的 每页条数

#### url : string
query/QueryArcServer.js 68

ArcGIS服务地址

### 方法

#### addEventParent(obj) → BaseClass
core/BaseClass.js 303

添加抛出事件到父类，它将接收传播的事件

参数名称 | 类型 | 描述信息
--- | --- | ---
`obj` | object | 父类对象

##### 返回值:

当前对象本身,可以链式调用

继承自:
  - BaseClass#addEventParent

#### clear() → void
query/QueryArcServer.js 468

清除

##### 返回值:

无

#### destroy(noDel) → void
core/BaseClass.js 47

销毁当前对象

参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`noDel` | boolean | `false` | 可选 false:会自动delete释放所有属性，true：不delete绑定的变量

##### 返回值:

无

继承自:
  - BaseClass#destroy

#### fire(type, data, propagate) → BaseClass
core/BaseClass.js 199

触发指定类型的事件。

参数名称 | 类型 | 描述信息
--- | --- | ---
`type` | EventType | string | 事件类型
`data` | object | 可选 传输的数据或对象，可在事件回调方法中event对象中获取进行使用
`propagate` | BaseClass | 可选 将事件传播给父类 (用addEventParent设置)

##### 返回值:

当前对象本身,可以链式调用

继承自:
  - BaseClass#fire

#### hasEventParent(obj) → boolean
core/BaseClass.js 330

是否绑定了抛出事件到指定父类

参数名称 | 类型 | 描述信息
--- | --- | ---
`obj` | object | 父类对象

##### 返回值:

是否绑定了抛出事件

继承自:
  - BaseClass#hasEventParent

#### listens(type, propagate) → boolean
core/BaseClass.js 253

是否有绑定指定的事件

参数名称 | 类型 | 描述信息
--- | --- | ---
`type` | EventType | string | 事件类型
`propagate` | BaseClass | 可选 是否判断指定的父类 (用addEventParent设置的)

##### 返回值:

是否存在

继承自:
  - BaseClass#listens

#### off(types, fn, context) → BaseClass
core/BaseClass.js 96

解除绑定指定类型事件监听器

参数名称 | 类型 | 描述信息
--- | --- | ---
`types` | string | EventType | Array.<string> | Array.<EventType> | 可选 事件类型，tip:多个事件也可以数组或空格间隔的字符串 , 传入空值时解绑所有事件
`fn` | function | 可选 绑定的监听器回调方法,未传值时解绑所有指定类型对应事件，特殊说明：map.on监听的Cesium相关原生事件时必须传入该参数
`context` | object | 可选 侦听器的上下文(this关键字将指向的对象)。

##### 返回值:

当前对象本身,可以链式调用

继承自:
  - BaseClass#off

#### on(types, fn, context) → BaseClass
core/BaseClass.js 66

绑定指定类型事件监听器, 支持在监听中调用 event.stopPropagation(); 阻止事件冒泡

参数名称 | 类型 | 描述信息
--- | --- | ---
`types` | string | EventType | Array.<string> | Array.<EventType> | 事件类型，tip:多个事件也可以数组或空格间隔的字符串
`fn` | function | 绑定的监听器回调方法
`context` | object | 可选 侦听器的上下文(this关键字将指向的对象)。

##### 返回值:

当前对象本身,可以链式调用

继承自:
  - BaseClass#on

#### once(types, fn, context) → BaseClass
core/BaseClass.js 280

绑定一次性执行的指定类型事件监听器 与on类似，监听器只会被触发一次，然后被删除。

参数名称 | 类型 | 描述信息
--- | --- | ---
`types` | EventType | string | Array.<EventType> | 事件类型
`fn` | function | 绑定的监听器回调方法
`context` | object | 可选 侦听器的上下文(this关键字将指向的对象)。

##### 返回值:

当前对象本身,可以链式调用

继承自:
  - BaseClass#once

#### query(queryOptions) → Promise.<object>
query/QueryArcServer.js 198

按指定类别自动查询

参数名称 | 类型 | 描述信息
--- | --- | ---
`queryOptions` | object | 查询参数
参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`text` | string |  | 可选 检索关键字。
`column` | string |  | 可选 检索关键字的字段名称。
`like` | boolean | `true` | 可选 检索关键字时，是否模糊匹配，false时精确查询。
`where` | string |  | 可选 自定义的检索条件，与text二选一
`graphic` | BaseGraphic | * |  | 可选 限定的搜索区域
`page` | boolean | `true` | 可选 是否分页查询,false时不分页，一次性查询返回
`parameters` | object |  | 可选 其他参数，arcgis服务本身支持的参数均支持
`success` | function |  | 可选 查询完成的回调方法
`error` | function |  | 可选 查询失败的回调方法

##### 返回值:

查询完成的Promise,等价于success参数

#### removeEventParent(obj) → BaseClass
core/BaseClass.js 316

移除抛出事件到父类

参数名称 | 类型 | 描述信息
--- | --- | ---
`obj` | object | 父类对象

##### 返回值:

当前对象本身,可以链式调用

继承自:
  - BaseClass#removeEventParent

#### showFirstPage() → void
query/QueryArcServer.js 143

首页，查看第1页数据

##### 返回值:

无

#### showNextPage() → void
query/QueryArcServer.js 164

下一页

##### 返回值:

无

#### showPage(pageIndex) → void
query/QueryArcServer.js 177

跳转到指定页

参数名称 | 类型 | 描述信息
--- | --- | ---
`pageIndex` | number | 指定页

##### 返回值:

无

#### showPretPage() → void
query/QueryArcServer.js 151

上一页

##### 返回值:

无

### 定义的类型

#### mars3d.query.QueryArcServer.EventType
query/QueryArcServer.js 9

当前类支持的`EventType`事件类型

##### 属性:

属性名称 | 类型 | 描述信息
--- | --- | ---
`click` | string | 左键单击 鼠标事件
`load` | string | 完成加载，执行所有内部处理后

##### 使用示例:

    //绑定监听事件
    layer.on(mars3d.EventType.load, function (event) {
      console.log('矢量数据对象加载完成', event)
    })

##### 参考:

- BaseClass#on
- BaseClass#off