类名 IGSMapImageLayer

# new IGSMapImageLayer(options)

IGS地图图片图层,
支持IGS1.0和2.0两个服务版本,支持自定义坐标系,当IGS版本是1.0时,需要手动设置图层坐标系,当IGS版本是2.0时,会自动读取元信息上的坐标系,不需要用户指定


[ES5引入方式]:
Zondy.Layer.IGSMapImageLayer()
[ES6引入方式]:
import { IGSMapImageLayer } from "@mapgis/webclient-common"

针对图层的操作请在图层加载完毕事件中进行
Layer.on('layerview-created', function (result) {
console.log("加载完毕:", result.layer)
});
如果不想在该事件中放入业务代码,则请确认图层资源已加载完毕后再进行操作
if(layer.loadStatus === 'loaded') {
// 你的业务逻辑
}

参数:

名称 类型 默认值 描述
options Object

构造参数

url String

服务基地址,可以在末尾指定子图层id,若指定,则仅显示该子图层,例如:http://{服务基地址}/子图层id,[仅显示指定子图层]

httpMethod String "GET"

HTTP请求方式,默认为GET请求 IGS1.0的服务为:http://{ip}:6163/igs/rest/mrms/docs/{serviceName},暂时无法从元信息中获取坐标系,请自行指定图层坐标系,参考示例:[IGS1.0的地图图片图层示例]
IGS2.0的服务为:http://{ip}:{port}/igs/rest/services/{folder}/{serviceName}/MapServer,参考示例:[IGS2.0的地图图片图层示例]
删除图层方法:[删除图层]

id String

图层id,不给则给一个随机的id

opacity Number 1

图层透明度,0到1之间的值,0为完全透明,1为不透明,参考示例:[设置图层透明度]

visible Boolean true

图层显示或隐藏,true则显示,false则隐藏,参考示例:[设置图层显示或隐藏]

sublayers Array.<Collection> []

指定子图层参数,可设置子图层的可见性,顺序以及子图层渲染参数,其中图层可见性支持IGS1.0以及2.0服务, 子图层顺序以及专题图参数仅支持IGS2.0服务,目前子图层支持的专题图如下:
1、单值专题图
2、分段专题图
参考示例:
[1、显示所有子图层]
[2、根据id显示子图层]
[3、通过方法设置子图层显隐]
[4、通过修改子图参数,设置子图层显隐]
[5、设置子图层顺序]
[6、通过方法设设置子图层顺序]
[7、通过修改子图参数,设置子图层顺序]
[8、设置子图层专题图-单值专题图]
[9、设置子图层专题图-分段专题图]
[10、通过方法设置子图层专题图]
[11、通过修改子图参数,设置子图层专题图]

spatialReference SpatialReference

图层坐标系,支持4326(包含4490,4214以及4610)、3857以及EPSG上的自定义坐标系,坐标系默认从元信息中获取,也可指定坐标系, 参考示例:[设置图层坐标系]

imageWidth Number 256

图片宽度,单位px,参考示例:[设置图片大小]

imageHeight Number 256

图片高度,单位px,参考示例:[设置图片大小]

minScale Number null

最小比例尺,只有当地图视图的比例尺大于最小比例尺时显示地图图片图层

maxScale Number null

最大比例尺,只有当地图视图的比例尺小于最大比例尺时显示地图图片图层

tokenKey String 'token'

token名

tokenValue String

token值,只有当tokenValue存在时,才会绑定token

imageTransparency Boolean true

图片中没有数据的地方是否透明,默认为true,即透明

clippingArea Polygon | Extent | Circle | null null

图层空间裁剪范围,仅支持多边形裁剪、矩形裁剪、圆形裁剪

查看源代码 common/document/layer/igserver/IGSMapImageLayer.js, line 10

支持如下方法:
[1、加载图层资源]
[2、根据子图层id查询子图层]
3、刷新图层
[4、根据范围和大小获取image标签]
[5、创建一个该服务的子图层克隆对象]
[6、根据参数获取图片的url]
[7、更新子图层]
[8、将图层转为json对象]
[9、克隆图层对象]

示例

IGS1.0的地图图片图层示例

// ES5引入方式
const { Map,MapView,SpatialReference } = Zondy
const { IGSMapImageLayer } = Zondy.Layer
// ES6引入方式
import { Map,MapView,SpatialReference,IGSMapImageLayer  } from "@mapgis/webclient-common"
// 初始化图层管理容器
const map = new Map();
// 初始化地图视图对象
const mapView = new MapView({
  // 视图id
  viewId: "viewer-id",
  // 图层管理容器
  map: map
});
// 添加图层
const igsMapImageLayer = new IGSMapImageLayer({
  // 服务基地址
  url: 'http://{ip}:6163/igs/rest/mrms/docs/{serviceName}',
  // IGS1.0服务,暂时无法从元信息中获取坐标系,请自行指定图层坐标系
  spatialReference: new SpatialReference({
    wkid: 4326
  })
});
map.add(igsMapImageLayer);

IGS2.0的地图图片图层示例

// ES5引入方式
const { Map,MapView } = Zondy
const { IGSMapImageLayer } = Zondy.Layer
// ES6引入方式
import { Map,MapView,IGSMapImageLayer  } from "@mapgis/webclient-common"
// 初始化图层管理容器
const map = new Map();
// 初始化地图视图对象
const mapView = new MapView({
  // 视图id
  viewId: "viewer-id",
  // 图层管理容器
  map: map
});
// 添加图层
const igsMapImageLayer = new IGSMapImageLayer({
  // 服务基地址
  url: 'http://{ip}:{port}/igs/rest/services/{serviceName}/MapServer'
});
map.add(igsMapImageLayer);

指定地图图片图层的坐标系示例

// ES5引入方式
const { SpatialReference} = Zondy
const { IGSMapImageLayer } = Zondy.Layer
// ES6引入方式
import { SpatialReference,IGSMapImageLayer  } from "@mapgis/webclient-common"
// 添加图层
const igsMapImageLayer = new IGSMapImageLayer({
  // 服务基地址
  url: 'http://{ip}:{port}/igs/rest/services/{serviceName}/MapServer',
  // 自定义坐标新
  spatialReference: new SpatialReference({
    // 指定的wkid号,可在https://epsg.io/网站查询
    wkid: '指定的wkid号'
  })
});
map.add(igsMapImageLayer);

IGS2.0的地图图层示例 - 设置图片大小

 // ES5引入方式
const { Map,MapView} = Zondy
const { IGSMapImageLayer } = Zondy.Layer
// ES6引入方式
import { Map,MapView,IGSMapImageLayer  } from "@mapgis/webclient-common"
// 初始化图层管理容器
const map = new Map();
// 初始化地图视图对象
const mapView = new MapView({
  // 视图id
  viewId: "viewer-id",
  // 图层管理容器
  map: map
});
// 添加图层
const igsMapImageLayer = new IGSMapImageLayer({
  // 服务基地址
  url: 'http://{ip}:{port}/igs/rest/services/{serviceName}/MapServer',
  // 瓦片宽度
  imageWidth: 512,
  // 瓦片高度
  imageHeight: 512
});
map.add(igsMapImageLayer);

显示所有子图层

// ES5引入方式
const { IGSMapImageLayer } = Zondy.Layer
// ES6引入方式
import { IGSMapImageLayer  } from "@mapgis/webclient-common"
// 添加图层
const igsMapImageLayer = new IGSMapImageLayer({
  // 服务基地址
  url: 'http://{ip}:{port}/igs/rest/services/{serviceName}/MapServer',
  // 当sublayers为空时显示所有子图层
  sublayers: []
});
map.add(igsMapImageLayer);

根据id显示子图层

// ES5引入方式
const { IGSMapImageLayer } = Zondy.Layer
// ES6引入方式
import { IGSMapImageLayer  } from "@mapgis/webclient-common"
// 添加图层
const igsMapImageLayer = new IGSMapImageLayer({
  // 服务基地址
  url: 'http://{ip}:{port}/igs/rest/services/{serviceName}/MapServer',
  // 根据id显示子图层
  sublayers: [
     {
       // 子图层id
       id: 1,
       // 显示子图层
       visible: true
     }
   ]
});
map.add(igsMapImageLayer);

通过方法设置子图层显隐

// ES5引入方式
const { IGSMapImageLayer } = Zondy.Layer
// ES6引入方式
import { IGSMapImageLayer  } from "@mapgis/webclient-common"
// 添加图层
const igsMapImageLayer = new IGSMapImageLayer({
  // 服务基地址
  url: 'http://{ip}:{port}/igs/rest/services/{serviceName}/MapServer'
});
map.add(igsMapImageLayer);
// 通过方法设置子图层显隐
igsMapImageLayer.setSubLayer({
  id: 0,
  visible: false
})

通过修改子图参数,设置子图层显隐

// ES5引入方式
const { IGSMapImageLayer } = Zondy.Layer
// ES6引入方式
import { IGSMapImageLayer  } from "@mapgis/webclient-common"
// 添加图层
const igsMapImageLayer = new IGSMapImageLayer({
  // 服务基地址
  url: 'http://{ip}:{port}/igs/rest/services/{serviceName}/MapServer'
});
map.add(igsMapImageLayer);
// 根据id获取子图层
const subLayer = igsMapImageLayer.findSublayerById(0)
// 设置子图层显隐
subLayer.visible = false

设置子图层顺序

// ES5引入方式
const { IGSMapImageLayer } = Zondy.Layer
// ES6引入方式
import { IGSMapImageLayer  } from "@mapgis/webclient-common"
const igsMapImageLayer = new IGSMapImageLayer({
   // 服务基地址
   url: 'http://{ip}:{port}/igs/rest/services/{serviceName}/MapServer',
   // 设置子图层顺序
   sublayers: [{
     id: '0',
     index: 2
   },{
     id: '1',
     index: 1
   }]
 });
map.add(igsMapImageLayer);

通过方法设置子图层顺序

// ES5引入方式
const { IGSMapImageLayer } = Zondy.Layer
// ES6引入方式
import { IGSMapImageLayer  } from "@mapgis/webclient-common"
const igsMapImageLayer = new IGSMapImageLayer({
   // 服务基地址
   url: 'http://{ip}:{port}/igs/rest/services/{serviceName}/MapServer'
 });
map.add(igsMapImageLayer);
// 设置子图层顺序
igsMapImageLayer.setSubLayer({
  // 子图层id
  id: '子图层id',
  // 子图层顺序
  index: 2
})

通过修改子图参数,设置子图层顺序

// ES5引入方式
const { IGSMapImageLayer } = Zondy.Layer
// ES6引入方式
import { IGSMapImageLayer  } from "@mapgis/webclient-common"
const igsMapImageLayer = new IGSMapImageLayer({
   // 服务基地址
   url: 'http://{ip}:{port}/igs/rest/services/{serviceName}/MapServer'
 });
map.add(igsMapImageLayer);
// 根据id获取子图层
const subLayer = igsMapImageLayer.findSublayerById(0)
// 设置子图层顺序
subLayer.index = 2

设置子图层专题图-单值专题图

// ES5引入方式
const { IGSMapImageLayer } = Zondy.Layer
const { UniqueValueRenderer } = Zondy.Renderer
const { SimpleFillSymbol,SimpleLineSymbol } = Zondy.Symbol
const { Color } = Zondy
// ES6引入方式
import { IGSMapImageLayer,UniqueValueRenderer,SimpleFillSymbol,SimpleLineSymbol,Color  } from "@mapgis/webclient-common"
igsMapImageLayer = new IGSMapImageLayer({
  // 服务基地址
  url: 'http://{ip}:{port}/igs/rest/services/{serviceName}/MapServer',
  // 设置子图层专题图
  sublayers: [
     {
       // 子图层id
       id: '子图层id',
       // 专题图参数
       renderer: new UniqueValueRenderer({
         //字段名
         field: '你的字段名',
         // 默认符号,不在专题图指定范围内的会采用该样式,可不设置
         defaultSymbol: new SimpleFillSymbol({
           // 填充颜色
           color: 'rgba(1,1,252,0)',
           // 外边线样式
           outline: new SimpleLineSymbol({
             //线颜色
             color: new Color(255, 1, 0, 1),
             //线宽
             width: 1
           })
         }),
         //单值专题图字段样式
         uniqueValueInfos: [{
           //指定字段值
           value: "指定的值",
           //匹配到该值后的样式
           symbol: new SimpleFillSymbol({
             // 填充颜色
             color: 'rgba(1,1,252,1)',
             // 外边线样式
             outline: new SimpleLineSymbol({
               //线符号颜色
               color: new Color(255, 1, 0, 11),
               //线宽
               width: 1
               })
             })
           },{
             //指定字段值
             value: "指定的值",
             //匹配到该值后的样式
             symbol: new SimpleFillSymbol({
               // 填充颜色
               color: new Color(211, 111, 11, 1)
             })
           }]
       })
     }
  ]
});
map.add(igsMapImageLayer);

设置子图层专题图-分段专题图

// ES5引入方式
const { IGSMapImageLayer } = Zondy.Layer
const { ClassBreakRenderer } = Zondy.Renderer
const { SimpleFillSymbol,SimpleLineSymbol } = Zondy.Symbol
const { Color } = Zondy
// ES6引入方式
import { IGSMapImageLayer,ClassBreakRenderer,SimpleFillSymbol,SimpleLineSymbol,Color  } from "@mapgis/webclient-common"
const igsMapImageLayer = new IGSMapImageLayer({
  // 服务基地址
  url: 'http://{ip}:{port}/igs/rest/services/{serviceName}/MapServer',
  // 设置子图层专题图
  sublayers: [
    {
     // 子图层id
     id: '子图层id',
     // 专题图参数
     renderer: new ClassBreakRenderer({
       //字段名
       field: '你的字段名',
       // 指定默认样式,不在专题图指定范围内的会采用该样式,可不设置
       defaultSymbol:  new SimpleFillSymbol({
         // 填充颜色
         color: 'rgba(222,1,252,1)',
         // 线符号样式
         outline: new SimpleLineSymbol({
           //线符号颜色
           color: new Color(255, 1, 0, 1),
           //线宽
           width: 1
         })
       }),
       //单值专题图字段样式
       classBreakInfos: [{
         // 最大范围
         maxValue: "最大范围",
         // 最小范围
         minValue: "最小范围",
         //匹配到该值后的样式
         symbol:  new SimpleFillSymbol({
           // 填充颜色
           color: 'rgba(1,1,252,1)',
           // 线符号样式
           outline: new SimpleLineSymbol({
             //线符号颜色
             color: new Color(255, 1, 0, 1),
             //线宽
             width: 1
           })
         })
       }]
     })
   }
 ]
});
map.add(igsMapImageLayer);

通过方法设置子图层专题图

// ES5引入方式
const { IGSMapImageLayer } = Zondy.Layer
const { ClassBreakRenderer } = Zondy.Renderer
const { SimpleFillSymbol,SimpleLineSymbol } = Zondy.Symbol
const { Color } = Zondy
// ES6引入方式
import { IGSMapImageLayer,ClassBreakRenderer,SimpleFillSymbol,SimpleLineSymbol,Color  } from "@mapgis/webclient-common"
const igsMapImageLayer = new Zondy.Layer.IGSMapImageLayer({
  // 服务基地址
  url: 'http://{ip}:{port}/igs/rest/services/{serviceName}/MapServer'
});
map.add(igsMapImageLayer);
// 设置子图层专题图
igsMapImageLayer.setSubLayer({
  // 子图层id
  id: '子图层id',
  // 专题图参数
  renderer: new Zondy.Renderer.ClassBreakRenderer({
    //字段名
    field: '你的字段名',
    // 指定默认样式,不在专题图指定范围内的会采用该样式,可不设置
    defaultSymbol:  new Zondy.Symbol.SimpleFillSymbol({
      // 填充颜色
      color: 'rgba(222,1,252,1)',
      // 线符号样式
      outline: new Zondy.Symbol.SimpleLineSymbol({
        //线符号颜色
        color: new Zondy.Color(255, 1, 0, 1),
        //线宽
        width: 1
      })
    }),
    //单值专题图字段样式
    classBreakInfos: [{
      // 最大范围
      maxValue: "最大范围",
      // 最小范围
      minValue: "最小范围",
      //匹配到该值后的样式
      symbol:  new Zondy.Symbol.SimpleFillSymbol({
        // 填充颜色
        color: 'rgba(1,1,252,1)',
        // 线符号样式
        outline: new Zondy.Symbol.SimpleLineSymbol({
          //线符号颜色
          color: new Zondy.Color(255, 1, 0, 1),
          //线宽
          width: 1
        })
      })
    }]
  })
})

通过修改子图参数,设置子图层专题图

// ES5引入方式
const { IGSMapImageLayer } = Zondy.Layer
const { ClassBreakRenderer } = Zondy.Renderer
const { SimpleFillSymbol,SimpleLineSymbol } = Zondy.Symbol
const { Color } = Zondy
// ES6引入方式
import { IGSMapImageLayer,ClassBreakRenderer,SimpleFillSymbol,SimpleLineSymbol,Color  } from "@mapgis/webclient-common"
const igsMapImageLayer = new IGSMapImageLayer({
  // 服务基地址
  url: 'http://{ip}:{port}/igs/rest/services/{serviceName}/MapServer'
});
map.add(igsMapImageLayer);
// 根据id获取子图层
const subLayer = igsMapImageLayer.findSublayerById(0)
// 设置子图专题图
subLayer.renderer = new ClassBreakRenderer({
    //字段名
    field: '你的字段名',
    // 指定默认样式,不在专题图指定范围内的会采用该样式,可不设置
    defaultSymbol:  new SimpleFillSymbol({
      // 填充颜色
      color: 'rgba(222,1,252,1)',
      // 线符号样式
      outline: new SimpleLineSymbol({
        //线符号颜色
        color: new Color(255, 1, 0, 1),
        //线宽
        width: 1
      })
    }),
    //单值专题图字段样式
    classBreakInfos: [{
      // 最大范围
      maxValue: "最大范围",
      // 最小范围
      minValue: "最小范围",
      //匹配到该值后的样式
      symbol:  new SimpleFillSymbol({
        // 填充颜色
        color: 'rgba(1,1,252,1)',
        // 线符号样式
        outline: new SimpleLineSymbol({
          //线符号颜色
          color: new Color(255, 1, 0, 1),
          //线宽
          width: 1
        })
      })
    }]
  })

设置图层透明度

// ES5引入方式
const { IGSMapImageLayer } = Zondy.Layer
// ES6引入方式
import { IGSMapImageLayer  } from "@mapgis/webclient-common"
// 初始化时设置
const igsMapImageLayer = new IGSMapImageLayer({
  // 服务基地址
  url: 'http://{ip}:{port}/igs/rest/services/{serviceName}/MapServer',
  // 设置透明度
  opacity: 1.0
});
map.add(igsMapImageLayer);
// 加载完成后设置
igsMapImageLayer.on('layerview-created', function (result) {
  console.log("加载完毕:", result.layer)
  // 视点跳转
  igsMapImageLayer.opacity = 0.5
})

显示或隐藏图层

/ ES5引入方式
const { IGSMapImageLayer } = Zondy.Layer
// ES6引入方式
import { IGSMapImageLayer  } from "@mapgis/webclient-common"
// 初始化时设置
const igsMapImageLayer = new IGSMapImageLayer({
  // 服务基地址
  url: 'http://{ip}:{port}/igs/rest/services/{serviceName}/MapServer',
  // 显示或隐藏图层
  visible: true
});
map.add(igsMapImageLayer);
// 加载完成后设置
igsMapImageLayer.on('layerview-created', function (result) {
  console.log("加载完毕:", result.layer)
  // 显示或隐藏图层
  igsMapImageLayer.visible = !igsMapImageLayer.visible
})

删除图层

map.remove(igsMapImageLayer)

显示指定子图层

/ ES5引入方式
const { IGSMapImageLayer } = Zondy.Layer
// ES6引入方式
import { IGSMapImageLayer  } from "@mapgis/webclient-common"
// 初始化时设置
const igsMapImageLayer = new IGSMapImageLayer({
  // 服务基地址,可指定子图层id
  url: 'http://{ip}:{port}/igs/rest/services/{serviceName}/MapServer/{子图层id}',
  // 显示或隐藏图层
  visible: true
});
map.add(igsMapImageLayer);

添加arcgis的MapImage图层

// 初始化图层管理容器
/ ES5引入方式
const { Map ,SceneView,SpatialReference} = Zondy
const { IGSMapImageLayer} = Zondy.Layer
// ES6引入方式
import {Map ,SceneView,SpatialReference, IGSMapImageLayer  } from "@mapgis/webclient-common"
const map = new Map();
// 初始化地图视图对象
const sceneView = new SceneView({
  // 视图id
  viewId: "mapgis-3d-viewer",
  // 图层管理容器
  map: map
});
const arcgisMapImageLayer = new IGSMapImageLayer({
  url: 'https://map.geoq.cn/arcgis/rest/services/ChinaOnlineStreetWarm/MapServer',
  // 注意一个MapImage图层可能支持多个坐标系,这里指定4326坐标系
  spatialReference: new SpatialReference({
    wkid: 4326
  })
});
map.add(arcgisMapImageLayer);
// 图层加载完毕
igsMapImageLayer.on('layerview-created', function (result) {
  console.log("加载完毕:", result.layer)
  // 视点跳转
  sceneView.flyTo({
    extent: result.layer.extent
  })
})

图层顺序

// 加载完毕后,更改图层顺序
map.reorder(igsMapImageLayer, '要移动到的index');

继承关系

成员变量

Collection

# allSublayers

所有子图层信息

Inherited From:

查看源代码 common/document/layer/baseLayer/MapImageLayer.js, line 77

String

# readonly capabilities

可提供的服务

Inherited From:

查看源代码 common/document/layer/baseLayer/MapImageLayer.js, line 46

String

# readonly documentInfo

地图文档信息

Inherited From:

查看源代码 common/document/layer/baseLayer/MapImageLayer.js, line 40

String

# readonly extent

图层范围,从服务中读取,仅会请求在该范围内的瓦片

Overrides:

查看源代码 common/document/layer/baseLayer/MapImageLayer.js, line 154

Number

# imageHeight

瓦片化显示时,瓦片高度

Inherited From:

查看源代码 common/document/layer/baseLayer/MapImageLayer.js, line 62

Boolean

# imageTransparency

图片中没有数据的地方是否透明

Inherited From:

查看源代码 common/document/layer/baseLayer/MapImageLayer.js, line 72

Number

# imageWidth

瓦片化显示时,瓦片宽度

Inherited From:

查看源代码 common/document/layer/baseLayer/MapImageLayer.js, line 57

LoadStatus

# readonly loadStatus

图层加载状态

Default Value:
  • not-loaded

查看源代码 common/document/layer/igserver/IGSVectorTileLayer.js, line 428

String

# readonly mapName

地图名称

Inherited From:

查看源代码 common/document/layer/baseLayer/MapImageLayer.js, line 33

String

# renderMode

渲染模式,分为瓦片渲染'tile'和图像渲染'image'

Inherited From:

查看源代码 common/document/layer/baseLayer/MapImageLayer.js, line 52

Collection

# sublayers

子图层对象集合

查看源代码 common/document/layer/igserver/IGSMapImageLayer.js, line 1048

String

# readonly url

服务基地址

Inherited From:

查看源代码 common/document/layer/baseLayer/MapImageLayer.js, line 26

方法

# static clone(igsMapImageLayer)

克隆图层对象

参数:

名称 类型 描述
igsMapImageLayer IGSMapImageLayer

被克隆的对象

查看源代码 common/document/layer/igserver/IGSMapImageLayer.js, line 1001

克隆后的图层对象

示例

根据参数获取图片的url

// 添加图层
const igsMapImageLayer = new Zondy.Layer.IGSMapImageLayer({
  // 服务基地址
  url: 'http://{ip}:6163/igs/rest/mrms/docs/{serviceName}'
});
const newLayer = Zondy.Layer.IGSMapImageLayer.clone(igsMapImageLayer)

# clone()

克隆方法

Inherited From:

查看源代码 common/document/layer/baseLayer/MapImageLayer.js, line 148

图层

FeatureLayer

# createServiceSublayers()

创建一个该服务的子图层克隆对象,注意不是本地的子图层对象

查看源代码 common/document/layer/igserver/IGSMapImageLayer.js, line 931

服务上的子图层对象

Array

# fetchImage(extent, widthopt, heightopt)

根据范围和大小获取image标签

参数:

名称 类型 默认值 描述
extent Extent
width Number 256

图片宽度,单位px

height Number 256

图片高度,单位px

查看源代码 common/document/layer/igserver/IGSMapImageLayer.js, line 909

示例

根据范围和大小获取image标签

igsMapImageLayer.fetchImage({
  // 你的范围
  extent: new Zondy.Geometry.Extent(),
  // 图片宽度
  width: 256,
  // 图片高度
  height: 256
}).then((image) => {
  // 这里返回一个html的image标签
})

# findSublayerById(id)

根据子图层id查询子图层

参数:

名称 类型 描述
id String

子图层id

查看源代码 common/document/layer/igserver/IGSMapImageLayer.js, line 882

Object 子图层信息

# getFilters()

获取服务端要素过滤参数字符串

查看源代码 common/document/layer/igserver/IGSMapImageLayer.js, line 1009

服务端要素过滤参数,格式为{"子图层id":{"where":"sql语句"}}

Object

# getImageUrl(options)

根据参数获取图片的url

参数:

名称 类型 描述
options
extent Extent

图片范围

width Number

图片宽度

height Number

图片高度

查看源代码 common/document/layer/igserver/IGSMapImageLayer.js, line 952

String 图片的url

示例

根据参数获取图片的url

const url = igsMapImageLayer.getImageUrl({
  // 你的范围
  extent: new Zondy.Geometry.Extent(),
  // 图片宽度
  width: 256,
  // 图片高度
  height: 256
})

# load()

加载图层资源

查看源代码 common/document/layer/igserver/IGSMapImageLayer.js, line 694

示例

不加载图层,仅获取图层信息

// 初始化图层
const igsMapImageLayer = new Zondy.Layer.IGSMapImageLayer({
  // 服务基地址
  url: 'http://{ip}:{port}/igs/rest/services/{serviceName}/MapServer',
});
igsMapImageLayer.load().then((result) => {
  // 获取完图层信息
  console.log(result)
})

# setSubLayer(igsMapImageSubLayer)

更新子图层

参数:

名称 类型 描述
igsMapImageSubLayer IGSMapImageSubLayer

要更新的子图层

查看源代码 common/document/layer/igserver/IGSMapImageLayer.js, line 960

# toJSON()

转换为json对象

Overrides:

查看源代码 common/document/layer/igserver/IGSMapImageLayer.js, line 837

json对象

Object

事件

# 子图层显隐更新完毕事件

子图层显隐更新完毕事件,请注意该事件是图层更新事件(layerview-update)的子事件

属性:
Name Type Attributes Default Description
event Object

事件对象

type String <optional>
'layerview-update'

图层更新完毕事件

message String <optional>
null

更新描述

updateContent Array.<UpdateContent> <optional>
null

更新详情对象

layer Layer <optional>
null

地图图层对象

layerView MapView <optional>
null

图层的视图对象

sourceTarget Layer <optional>
null

事件发起对象

target Map <optional>
null

事件接收对象

查看源代码 common/document/layer/igserver/IGSMapImageLayer.js, line 618

示例

子图层显隐更新完毕事件

Layer.on('layerview-update', function (event) {
  // 获取更新事件对象
  console.log("更新完毕:", event)
  // 获取更新详情数组
  const updateContent = event.updateContent
  // 循环数组,根据事件名进行后续操作
  for (let i = 0; i < updateContent.length; i++) {
    // 子图层显隐更新完毕事件
    if(updateContent[i].name === 'sublayerVisible'){
      console.log("子图层显隐更新完毕事件:", event);
    }
  }
});
构造函数
成员变量
方法
事件