# ArcGisImageLayer
查阅Leaflet API

#### new mars2d.layer.ArcGisImageLayer(options)
plugins/mars2d-esri/ArcGisImageLayer.js 28

ArcGIS Server Image服务图层， 【需要引入mars2d-esri 插件库】

参数名称 | 类型 | 描述信息
--- | --- | ---
`options` | Object | 参数对象，包括以下：
参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`url` | String |  | ArcGIS Server服务地址,比如：'https://sampleserver3.arcgisonline.com/ArcGIS/rest/services/World/MODIS/ImageServer'
`format` | String | `'jpegpng'` | 可选 图像的输出格式
`opacity` | Number | `1` | 可选 图层的不透明度。应该是介于0(完全透明)和1(完全不透明)之间的值。
`bandIds` | String |  | 可选 如果有多个波段，您可以指定要导出的波段。
`noData` | Number |  | 可选 代表无信息的像素值。
`noDataInterpretation` | String |  | 可选 noData设置的解释。
`pixelType` | String |  | 可选 除非需要，否则在大多数 exportImage 用例中保留pixelType未指定或。
`minZoom` | Number |  | 可选 图层将显示在地图上的最远缩放级别。
`maxZoom` | Number |  | 可选 图层将显示在地图上的最近缩放级别。
`zIndex` | Number |  | 可选 用于图层间排序
`token` | String |  | 可选 如果您在服务需要传递令牌，它将包含在对服务的所有请求中。
`proxy` | String |  | 可选 代理服务URL
`useCors` | Boolean | `true` | 可选 如果此服务在发出 GET 请求时应使用 CORS。
`id` | String | Number | `createGuid()` | 可选 图层id标识
`pid` | String | Number | `-1` | 可选 图层父级的id，一般图层管理中使用
`name` | String | `''` | 可选 图层名称
`pane` | String | `'tilePane'` | 可选 指定图层添加到地图的哪个pane的DIV中，用于控制不同层级显示的，优先级高于zIndex。

##### 使用示例:

    let arcGisImageLayer = new ArcGisImageLayer({
      url: 'https://ihttmagery.oregonexplorer.info/arcgis/rest/services/NAIP_2011/NAIP_2011_Dynamic/ImageServer'
    })
    arcGisImageLayer.setBandIds('3,0,1').addTo(map);

##### 参考:

- `支持的事件类型`

- 更多请参考L.esri.ImageMapLayer类API

### 继承自

- L.esri.ImageMapLayer

### 属性值

#### bandIds : String|Array.<Number>
plugins/mars2d-esri/ArcGisImageLayer.js 150

波段值

#### 只读 hasOpacity : boolean
plugins/mars2d-esri/ArcGisImageLayer.js 142

是否可以调整透明度

#### id : String|Number
plugins/mars2d-esri/ArcGisImageLayer.js 102

对象的id标识

#### 只读 isAdded : Boolean
plugins/mars2d-esri/ArcGisImageLayer.js 80

是否已添加到地图

#### name : String
plugins/mars2d-esri/ArcGisImageLayer.js 115

名称 标识

#### opacity : Number
plugins/mars2d-esri/ArcGisImageLayer.js 128

透明度

#### pid : String|Number
plugins/mars2d-esri/ArcGisImageLayer.js 89

对象的pid标识

#### show : Boolean
plugins/mars2d-esri/ArcGisImageLayer.js 162

显示隐藏状态

### 方法

#### addTo(map) → ArcGisImageLayer
plugins/mars2d-esri/ArcGisImageLayer.js 371

将图层添加到地图

参数名称 | 类型 | 描述信息
--- | --- | ---
`map` | Map | 地图对象

##### 返回值:

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

#### bindPopup(content, options) → ArcGisImageLayer
plugins/mars2d-esri/ArcGisImageLayer.js 209

绑定Popup弹窗配置

参数名称 | 类型 | 描述信息
--- | --- | ---
`content` | function | Popup弹窗回调方法
`options` | Map.PopupOptions | Object | 可选 Popup弹窗参数

##### 返回值:

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

##### 使用示例:

    imageMapLayer.bindPopup(function(err, identifyResults, response){
        var value = results.pixel.properties.value;
        return (value) ? 'Pixel value: ' + value : false;
      });

#### bringToBack() → ArcGisImageLayer
plugins/mars2d-esri/ArcGisImageLayer.js 191

在所有其他叠加层下方重绘此层。

##### 返回值:

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

#### bringToFront() → ArcGisImageLayer
plugins/mars2d-esri/ArcGisImageLayer.js 200

在所有其他叠加层之上重绘此层。

##### 返回值:

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

#### getBandIds() → String
plugins/mars2d-esri/ArcGisImageLayer.js 234

返回当前波段值。

##### 返回值:

波段值

#### getMosaicRule() → Object
plugins/mars2d-esri/ArcGisImageLayer.js 343

返回图层的当前镶嵌规则。

##### 返回值:

镶嵌规则

#### getNoData() → String
plugins/mars2d-esri/ArcGisImageLayer.js 253

返回当前无数据值。

##### 返回值:

无数据值

#### getPixelType() → String
plugins/mars2d-esri/ArcGisImageLayer.js 274

返回当前像素类型。

##### 返回值:

像素类型也称为数据类型

#### getRenderingRule() → Object
plugins/mars2d-esri/ArcGisImageLayer.js 324

返回图层的当前渲染规则。

##### 返回值:

当前渲染规则

#### metadata(callback, context) → ArcGisImageLayer
plugins/mars2d-esri/ArcGisImageLayer.js 294

请求有关此要素图层的元数据。将使用error和调用回调metadata。

参数名称 | 类型 | 描述信息
--- | --- | ---
`callback` | function | 回调方法
`context` | Object | 可选 侦听器的上下文(this关键字将指向的对象)。

##### 返回值:

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

##### 使用示例:

    featureLayer.metadata(function(error, metadata){
      console.log(metadata);
    });

#### query(callback, context) → Object
plugins/mars2d-esri/ArcGisImageLayer.js 308

返回L.esri.Query可用于查询此服务的新对象。

参数名称 | 类型 | 描述信息
--- | --- | ---
`callback` | function | 回调方法
`context` | Object | 可选 侦听器的上下文(this关键字将指向的对象)。

##### 返回值:

L.esri.Query对象

##### 使用示例:

    imageService.query()
      .within(latlngbounds)
      .run(function(error, featureCollection, response){
        console.log(featureCollection);
    });

#### redraw() → ArcGisImageLayer
plugins/mars2d-esri/ArcGisImageLayer.js 362

用于向服务发出新请求并绘制响应。

##### 返回值:

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

#### remove() → ArcGisImageLayer
plugins/mars2d-esri/ArcGisImageLayer.js 381

将图层从地图上移除

##### 返回值:

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

#### setBandIds(bandIds) → ArcGisImageLayer
plugins/mars2d-esri/ArcGisImageLayer.js 243

指定要导出的单个波段，或者您可以通过指定波段编号来更改波段组合（红色、绿色、蓝色）。

参数名称 | 类型 | 描述信息
--- | --- | ---
`bandIds` | String | Array.<Number> | 波段值

##### 返回值:

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

#### setMosaicRule(mosaicRule) → ArcGisImageLayer
plugins/mars2d-esri/ArcGisImageLayer.js 352

使用传递的镶嵌规则重绘图层。

参数名称 | 类型 | 描述信息
--- | --- | ---
`mosaicRule` | Object | 镶嵌规则

##### 返回值:

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

#### setNoData(noData, noDataInterpretation) → ArcGisImageLayer
plugins/mars2d-esri/ArcGisImageLayer.js 262

指定单个值或一组值以将其视为无数据。没有数据将值呈现为透明。

参数名称 | 类型 | 描述信息
--- | --- | ---
`noData` | Number | Array.<Number> | 无数据值
`noDataInterpretation` | String | 可选 可以是esriNoDataMatchAny| esriNoDataMatchAll.

##### 返回值:

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

#### setPixelType(pixelType) → ArcGisImageLayer
plugins/mars2d-esri/ArcGisImageLayer.js 283

像素类型也称为数据类型，与存储在栅格中的值的类型有关，例如有符号整数、无符号整数或浮点数。可能的值：C128、C64、F32、F64、S16、S32、S8、U1、U16、U2、U32、U4、U8、UNKNOWN。

参数名称 | 类型 | 描述信息
--- | --- | ---
`pixelType` | String | 像素类型也称为数据类型

##### 返回值:

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

#### setRenderingRule(renderingRule) → ArcGisImageLayer
plugins/mars2d-esri/ArcGisImageLayer.js 333

使用传递的渲染规则重绘图层。

参数名称 | 类型 | 描述信息
--- | --- | ---
`renderingRule` | Object | 当前渲染规则

##### 返回值:

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

#### unbindPopup() → ArcGisImageLayer
plugins/mars2d-esri/ArcGisImageLayer.js 225

解除绑定Popup弹窗配置

##### 返回值:

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

### 定义的类型

#### mars2d.layer.ArcGisImageLayer.EventType
plugins/mars2d-esri/ArcGisImageLayer.js 5

当前类支持的`EventType`事件类型（包括自定义字符串事件名）

##### 属性:

属性名称 | 类型 | 描述信息
--- | --- | ---
`loading` | String | 当新功能开始加载时触发。
`load` | String | 当地图当前边界中的所有要素都已加载时触发。
`requeststart` | String | 当对服务的请求开始时触发。
`requestend` | String | 当对服务的请求结束时触发。
`requestsuccess` | String | 当对服务的请求成功时触发。
`requesterror` | String | 当对服务的请求响应错误时触发。
`authenticationrequired` | String | 当对服务的请求失败并需要身份验证时，这将被触发。

##### 使用示例:

    //绑定监听事件
    tileLayer.on('load', function (event) {
      console.log('触发了事件',event)
    });

##### 参考:

- BaseClass#on
- BaseClass#off