QueryIServer

new mars3d.query.QueryIServer(options)

超图iServer WFS矢量服务查询类

参数名称 类型 描述信息
options object | *

参数对象,包括以下:

参数名称 类型 默认值 描述信息
url string

iServer服务地址, 示例:'https://iserver.superma/iserver/services/map-china/rest/maps/China'

layerName string 可选

对应的超图服务图层名

crs string | CRS 'EPSG:4326' 可选

图层对应的坐标系

toGeoJSON function 可选

超图json转geojson解析方法

//以下是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

参考:

继承自

属性值

enabledEvent : boolean

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

继承自:

只读 layer : GeoJsonLayer

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

只读 options : object

当前类的构造参数

继承自:

url : string

iServer服务地址

方法

addEventParent(obj)BaseClass

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

参数名称 类型 描述信息
obj object

父类对象

返回值:

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

继承自:

clear()void

清除

返回值:

destroy(noDel)void

销毁当前对象

参数名称 类型 默认值 描述信息
noDel boolean false 可选

false:会自动delete释放所有属性,true:不delete绑定的变量

返回值:

继承自:

fire(type, data, propagate)BaseClass

触发指定类型的事件。

参数名称 类型 描述信息
type EventType | string

事件类型

data object 可选

传输的数据或对象,可在事件回调方法中event对象中获取进行使用

propagate BaseClass 可选

将事件传播给父类 (用addEventParent设置)

返回值:

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

继承自:

hasEventParent(obj)boolean

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

参数名称 类型 描述信息
obj object

父类对象

返回值:

是否绑定了抛出事件

继承自:

listens(type, propagate)boolean

是否有绑定指定的事件

参数名称 类型 描述信息
type EventType | string

事件类型

propagate BaseClass 可选

是否判断指定的父类 (用addEventParent设置的)

返回值:

是否存在

继承自:

off(types, fn, context)BaseClass

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

参数名称 类型 描述信息
types string | EventType | Array.<string> | Array.<EventType> 可选

事件类型,tip:多个事件也可以数组或空格间隔的字符串 , 传入空值时解绑所有事件

fn function 可选

绑定的监听器回调方法,未传值时解绑所有指定类型对应事件,特殊说明:map.on监听的Cesium相关原生事件时必须传入该参数

context object 可选

侦听器的上下文(this关键字将指向的对象)。

返回值:

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

继承自:

on(types, fn, context)BaseClass

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

参数名称 类型 描述信息
types string | EventType | Array.<string> | Array.<EventType>

事件类型,tip:多个事件也可以数组或空格间隔的字符串

fn function

绑定的监听器回调方法

context object 可选

侦听器的上下文(this关键字将指向的对象)。

返回值:

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

继承自:

once(types, fn, context)BaseClass

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

参数名称 类型 描述信息
types EventType | string | Array.<EventType>

事件类型

fn function

绑定的监听器回调方法

context object 可选

侦听器的上下文(this关键字将指向的对象)。

返回值:

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

继承自:

async query(queryOptions)Promise.<object>

查询服务,基于filter条件

参数名称 类型 描述信息
queryOptions object

查询参数

参数名称 类型 默认值 描述信息
queryParams object 可选

超图服务本身支持的一些查询条件,比如:{ attributeFilter: "SMID>10" }

graphic BaseGraphic | * 可选

限定的搜索区域

expectCount number 1000 可选

返回结果最大数量

sortBy string 可选

排序的属性名称,默认升序,降序时+D

返回值:

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

removeEventParent(obj)BaseClass

移除抛出事件到父类

参数名称 类型 描述信息
obj object

父类对象

返回值:

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

继承自:

定义的类型

mars3d.query.QueryIServer.EventType

当前类支持的EventType事件类型

属性:
属性名称 类型 描述信息
click string

左键单击 鼠标事件

load string

完成加载,执行所有内部处理后

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