#### # new MapGISMapServerImageryProvider(options)

MapGIS地图图片图层

#### 参数:

名称 | 类型 | 默认值 | 描述
--- | --- | --- | ---
`options` | Object |  |
`url` | String | null | 服务地址，格式如下： 1、IGS1.0服务基地址：http://{ip}:{port}/igs/rest/mrms/docs/{文件夹名(可选)}:{serviceName} 2、IGS2.0服务基地址：http://{ip}:{port}/igs/rest/services/{文件夹名(可选)}/{serviceName}/MapServer
`layers` | String | null | 要显示的子图层id，多个子图层以逗号分隔，'layer1,layer2,...'，如果要显示所有层，则请传一个空字符串
`tilingScheme` | Cesium.TilingScheme | CustomTilingScheme | Cesium.GeographicTilingScheme | 瓦片的平铺方案，详见Cesium.TilingScheme
`rectangle` | Cesium.Rectangle | Cesium.Rectangle.MAX_VALUE | 图层显示范围，超出范围不会额外请求瓦片，详见Cesium.Rectangle
`httpMethod` | String | 'GET' | HTTP请求方式，"GET"、"POST"，默认为GET请求
`headers` | Object | null | HTTP请求头，传入方式见下方示例，请严格按照HTTP请求头属性填写，可传入请求方式为POST时的编码方式，默认方式为"text/plain"，请注意IGS.NET版本服务目前只支持"text/plain"的编码方式
`enablePickFeatures` | Boolean | false | 是否启用瓦片要素获取
`tileWidth` | number | 256 | 请求瓦片宽度
`tileHeight` | number | 256 | 请求瓦片高度
`minimumLevel` | number | 0 | 图层最小请求瓦片级别，小于该级别不再请求瓦片
`maximumLevel` | number |  | 图层最大请求瓦片级别，大于该级别不再请求瓦片
`gdbps` | Array | [] | gdbps地址数组
`filters` | String | null | 用户指定的图层过滤条件，它由多个键值对组成，值为过滤条件
`extensions` | Array | [] | 自定义扩展参数，将参数里面的对象解析出来拼装在出图地址后面
`proxy` | String | null | 转发代理
`dynamicLayers` | Array | [] | 动态图层信息
`build2DImageResource` | function | null | 重载build2DImageResource方法，来重载瓦片的请求逻辑
`clientId` | String | Math.random().toString(36).substring(2) | 客户端id，用户的唯一标识；在地图服务中，调用接口时如果修改了地图的状态，包括设置动态投影、设置图层显示隐藏等，为了提升并发性能，服务端会根据clientId来生成临时地图，最佳做法是一个浏览器生成一个固定的唯一值；建议普通用户不要传该参数，webclient会根据当前浏览器生成一个固定的唯一值
`isAntialiasing` | Boolean | undefined |  | 返回的图片时，是否开启服务端抗锯齿功能；启用抗锯齿功能后，显示效果会更清晰，但会导致出图速度变慢，true表示开启抗锯齿，false表示关闭抗锯齿，如果没有设置，则默认应用地图文档(MapX)上的设置参数

##### 请参考以下示例：

1、添加一个MapGIS地图图片图层：原生接口开发
2、添加一个MapGIS地图图片图层：混合接口
3、extensions参数的配置方法
4、headers参数的配置方法
5、子图层过滤
6、影像图层高程模式设置
7、卷帘
8、地表透明度独立控制
9、更多图层加载示例

##### 支持如下方法：

[1、通过MapGIS地图服务的url获取MapGISMapServerImageryProvider对象]
[2、获取瓦片的要素]
[3、请求给定贴图的图像]

##### 示例

添加一个MapGIS地图图片图层：原生接口开发

    // ES5引入方式
    const { MapGISMapServerImageryProvider } = zondy
    // ES6引入方式
    import { MapGISMapServerImageryProvider } from "@mapgis/webclient-cesium-plugin"

    // 定义IGS地图图片图层服务的基地址
    const url = 'http://webclient.smaryun.com:8089/igs/rest/services/Map/湖北省4326/MapServer'

    // 添加IGS地图图片图层
    async function addIGSMapImageLayer(url) {
      const provider = await MapGISMapServerImageryProvider.fromUrl(url)
      viewer.imageryLayers.addImageryProvider(provider)
    }
    // 添加IGS地图图片图层
    addIGSMapImageLayer(url)

添加一个MapGIS地图图片图层：混合接口开发

    // ES5引入方式
    const { MapGISMapServerImageryProvider } = zondy
    const { IGSMapImageLayer } = zondy.layer
    const { initializeOptions } = zondy.cesium.util
    // ES6引入方式
    import { MapGISMapServerImageryProvider, initializeOptions } from "@mapgis/webclient-cesium-plugin"
    import { IGSMapImageLayer } from "@mapgis/webclient-common"

    // 定义IGS地图图片图层服务的基地址
    const url = 'http://webclient.smaryun.com:8089/igs/rest/services/Map/湖北省4326/MapServer'

    // 创建地图图片图层对象
    igsMapImageLayer = new IGSMapImageLayer({
      url: url
    })

    // 获取地图图片图层服务的元信息
    igsMapImageLayer.load().then((layer) => {
      // 获取provider的初始化参数
      const options = initializeOptions(layer, viewer)
      // 构造provider对象
      provider = new MapGISMapServerImageryProvider(options)
      // 添加图层到Cesium视图中
      cesiumLayer = viewer.imageryLayers.addImageryProvider(provider)
    })

extensions参数的配置方法

    // ES5引入方式
    const { MapGISMapServerImageryProvider } = zondy
    // ES6引入方式
    import { MapGISMapServerImageryProvider } from "@mapgis/webclient-cesium-pulgin-mini"

    // extensions参数为自定义扩展参数，需要确保服务端支持此类参数
    const imageryProvider = new MapGISMapServerImageryProvider({
      url,
      tilingScheme,
      extensions: [
        { key: 'token', value: 'example_token' },
        { key: 'filters', value: '1:ID>4,3:ID>1' },
        { key: 'proj', value: 'Web墨卡托_WGS1984' }
      ]
    })

    <caption id='example4'><h7>headers参数的配置方法</h7></caption>
    const options = {
      headers: {
        'Content-Type': 'text/plain',
        'Accept-Language': 'zh-cn,zh;q=0.5'
      }
    }

### 成员变量

类型: Credit

#### # readonly credit

获取此图像提供程序处于活动状态时要显示的凭证

类型: Array

#### # gdbps

gdbps地址数组

类型: String

#### # layers

获取要显示的以逗号分隔的图层ID列表

类型: Number

#### # readonly maximumLevel

瓦片最大级别

类型: Number

#### # readonly minimumLevel

瓦片最小级别

类型: Proxy

#### # readonly proxy

获取代理

类型: Boolean

#### # readonly ready

获取当前图层是否创建完成

类型: Rectangle

#### # readonly rectangle

服务请求范围

类型: Number

#### # readonly tileHeight

瓦片高度

类型: Number

#### # readonly tileWidth

瓦片宽度

类型: TilingScheme

#### # readonly tilingScheme

瓦片平铺规则

类型: String

#### # readonly url

服务地址

### 方法

#### # async static fromUrl(url, options)

通过MapGIS地图服务的url获取MapGISMapServerImageryProvider对象

#### 参数:

名称 | 类型 | 描述
--- | --- | ---
`url` | String | 服务的基地址
`options` | Object | 实例化对象时提供的额外配置参数，若该对象中包含构造参数则会覆盖对应的构造参数

返回值:

初始化完毕的MapGISMapServerImageryProvider对象

类型: zondy.cesium.MapGISMapServerImageryProvider

#### # pickFeatures(x, y, level)

获取瓦片的要素

#### 参数:

名称 | 类型 | 描述
--- | --- | ---
`x` | Number | 瓦片的X坐标
`y` | Number | 瓦片的Y坐标
`level` | Number | 瓦片的详细级别

返回值:

所选要素的Promise，将在异步选择完成后resolve 解析后的值是ImageryLayerFeatureInfo的实例数组。如果在给定位置没有找到要素，则数组可能为空。

类型: Promise.<Array.<ImageryLayerFeatureInfo>> | undefined

#### # requestImage(x, y, level, request)

请求给定贴图的图像

#### 参数:

名称 | 类型 | 描述
--- | --- | ---
`x` | Number | 瓦片的X坐标
`y` | Number | 瓦片的Y坐标
`level` | Number | 瓦片的详细级别
`request` | Object | 请求对象

返回值:

瓦片的Resource对象

类型: Object