Class: IGSMapImageSubLayer

IGSMapImageSubLayer

new IGSMapImageSubLayer(options)

document/layer/igserver/IGSMapImageSubLayer.js, line 10

IGS 地图图片图层中的子图层对象。

该对象描述 IGS MapServer 图层树中的单个节点,可表示组图层或叶子图层。通常由 IGSMapImageLayer 在加载服务元信息时自动创建,也可在初始化 IGSMapImageLayer.sublayers 时传入配置,用于控制子图层显隐、渲染样式和要素过滤条件。

Name Type Default Description
options Object {} 可选

构造参数

Name Type Default Description
id String 可选

子图层 id。通常对应服务元信息中的 indexid

url String '' 可选

子图层服务地址或 gdbp 路径地址。

name String 'IGS地图图片子图层' 可选

子图层名称。该接口拟废弃,推荐使用 title

title String 'IGS地图图片子图层 ' 可选

子图层标题,用于展示和配置保存。

originLayerType String '' 可选

服务端原始图层类型,例如 GroupSFeatureGeomNet

geomType String '' 可选

服务端几何类型,例如 LinPntRegNet

fields Array.<Object> [] 可选

要素字段信息,通常来源于服务元信息。

supportedMethods Array.<String> [] 可选

服务端支持的方法列表。

systemLibGuid String '' 可选

系统库 Guid。

systemLibName Array | String [] 可选

系统库名称。

index String '' 可选

子图层在地图文档中的下标地址。

renderer BaseRenderer | Object | null null 可选

渲染样式对象。支持 SimpleRendererUniqueValueRendererClassBreakRenderer

definitionExpression String | null null 可选

要素属性过滤条件,语法由服务端 SQL 过滤能力决定。

geometryFilter GeometryFilter | Object | null null 可选

几何过滤条件。设置后会在出图时按空间关系过滤要素。

spatialReference SpatialReference | Object 可选

子图层空间参考系。

visible Boolean true 可选

子图层是否可见。

layer IGSMapImageLayer 可选

父级 IGS 地图图片图层对象。存在时属性变更会通知父图层刷新。

Example

过滤要显示的要素 - 初始化时设置

// ES5 引入方式
const { Map } = zondy
const { IGSMapImageLayer } = zondy.layer

// ES6 引入方式
import { Map, IGSMapImageLayer } from '@mapgis/webclient-common'

// 初始化地图图片图层
const igsMapImageLayer = new IGSMapImageLayer({
  url: '服务基地址',
  // 设置子图层的要素过滤参数
  sublayers: [
    {
      id: '子图层id',
      definitionExpression: '类 SQL 查询语句'
    }
  ]
})
map.add(igsMapImageLayer)

Extends

Members

capabilitiesObject

子图层支持能力。子图层支持能力分为客户端能力和服务端能力,其中客户端能力包含cesium、leaflet、mapboxgl引擎能力。默认子图层客户端能力:所有引擎能力都为空;默认子图层服务端能力为空。

图层版权信息

definitionExpressionString null

要素属性过滤条件。

语法由 IGS 服务端 SQL 过滤能力决定。设置非空值后会通知父图层刷新,空值不会覆盖当前过滤条件。

descriptionString

子图层描述信息

extendPropsObject

初始化当前图层对象上不支持的属性,二次开发用户希望挂在图层对像上的属性可以存储到该属性中

Default Value:
{}

extensionOptionsObject

初始化图层的额外参数,可以通过该参数传入引擎原生的构造参数

Default Value:
{}

extentExtent

子图层范围

fieldsArray.<Object>

要素字段信息。

该值来源于服务元信息或 load() 查询结果,可用于构造属性过滤、查询统计和专题图字段选择。

geomTypeString

服务端几何类型。

常见值包括 Lin(线)、Pnt(点)、Reg(区)和 Net(网络类)。该值来源于服务元信息。

geometryFilterGeometryFilter null

几何过滤参数。

用于在 IGS 地图出图时按空间关系过滤要素。设置该属性会转换普通对象为 GeometryFilter,并在存在父图层时触发父图层刷新。

idString

图层id,不给则生成随机id

indexString

子图层在地图文档中的下标地址。

该值用于定位服务端图层树节点,也会参与 IGS 动态出图参数构造。

layerLayer

父图层对象。所有子图层(包含子图层的子图层)拥有同一个父图层对象。toJSON方法不会导出该属性。

maxScaleNumber

最大显示比例尺(最放大)。

当视图缩放到超过该比例尺范围时,子图层不可见。 maxScale 应始终小于 minScale

minScaleNumber

最小显示比例尺(最缩小)。

当视图缩小到超过该比例尺范围时,子图层不可见。 minScale 应始终大于 maxScale

nameString

子图层名称。

该属性用于兼容旧接口,后续业务展示和配置保存推荐使用 title

originLayerTypeString

服务端原始图层类型。

该值来源于 IGS MapServer 元信息,用于判断当前节点是组图层还是可出图的叶子图层。

parentSubLayer Layer null

父节点对象。toJSON方法不会导出该属性。

rendererBaseRenderer null

子图层渲染样式对象。

可设置为 BaseRenderer 子类实例、渲染器 JSON 配置或 null。设置后会通知父图层刷新,并在 IGS 2.0 出图时参与 dynamicLayers 参数构造。 设为null会清除当前子图层的客户端渲染器,出图时仅使用服务端默认渲染器。

spatialReferenceSpatialReference

空间参考系

sublayersCollection.<SubLayer> null

子图层集合。

  • 传入 Collection 时直接使用;
  • 传入数组时会将数组元素视为子图层配置并递归创建;
  • 传入 null 表示无子图层。

注意:该属性通过 _decorate() 实现类型包装,外部通常以 Collection 的方式访问。

supportedMethodsArray.<String>

服务端支持的方法列表。

该值来源于服务元信息,用于描述当前子图层可用的服务能力。

systemLibGuidString

系统库 Guid。

该值来源于服务元信息,用于标识当前子图层所属系统库。

systemLibNameArray String

系统库名称。

该值来源于服务元信息,用于展示当前子图层所属系统库名称。

titleString

子图层标题。

用于界面展示和配置保存,可由外部业务按需修改。

子图层类型。

固定为 SubLayerType.IGSMapImageSub,用于序列化和从 JSON 配置恢复具体子类。

urlString

子图层服务地址或 gdbp 路径地址。

该值来源于服务元信息,通常用于标识服务端图层资源位置。

visibleBoolean

子图层显示或隐藏。

设置该属性会更新当前子图层可见性,并在存在父图层时触发图层更新事件;当父图层当前显示全部子图层时,还会刷新子图层出图参数。

Methods

clone(){IGSMapImageSubLayer}

document/layer/igserver/IGSMapImageSubLayer.js, line 309

克隆当前子图层对象。

克隆结果基于 toJSON() 导出的配置重新创建,适用于复制当前子图层的可序列化配置。

Returns:
Type Description
IGSMapImageSubLayer 克隆后的子图层对象

load(){Promise.<IGSMapImageSubLayer>|undefined}

document/layer/igserver/IGSMapImageSubLayer.js, line 335

加载当前子图层的服务端详细信息。

当子图层已挂载到 IGSMapImageLayer 且父图层存在 _mapServer 时,会调用服务端图层信息接口,更新字段、几何类型、范围、空间参考系、系统库信息和服务端默认渲染器。 若服务端返回 drawingInfo.renderer,会转换为前端渲染器并记录为原始值,用于后续判断是否需要拼接 IGS dynamicLayers 参数。

Returns:
Type Description
Promise.<IGSMapImageSubLayer> | undefined 加载完成后解析为当前子图层;未绑定父图层或服务对象时返回 undefined

toJSON(){Object}

document/layer/igserver/IGSMapImageSubLayer.js, line 284

导出为 JSON 配置。

适用于保存子图层配置或与 fromJSON() 配套恢复实例。导出的配置包含服务元信息字段、渲染器、几何过滤和属性过滤参数,不包含运行时父图层引用。

Returns:
Type Description
Object JSON 配置对象

IGSMapImageSubLayer.fromJSON(json){IGSMapImageSubLayer}

document/layer/igserver/IGSMapImageSubLayer.js, line 321

通过 JSON 配置创建 IGS 地图图片子图层实例。

适用于从持久化配置恢复对象,通常与 toJSON() 配套使用。

Name Type Description
json Object

JSON 配置对象

Returns:
Type Description
IGSMapImageSubLayer 新的子图层对象