# WmsLayer
查阅Leaflet API

#### new mars2d.layer.WmsLayer(options, highlight)
layer/tileLayer/WmsLayer.js 5

WMS服务 图层

参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`options` | Object |  | 参数对象，包括以下：
参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`url` | String |  | WMS服务的URL。
`subdomains` | String | Array.<String> |  | 可选 URL模板中用于 {s} 占位符的子域。 如果此参数是单个字符串，则字符串中的每个字符都是一个子域。如果是 一个数组，数组中的每个元素都是一个子域。
`layers` | String |  | 要包含的图层，用逗号分隔。
`style` | String |  | WMTS请求的样式名称，用逗号分隔。
`format` | String | `'image/jpeg'` | 可选 要从服务器检索的瓦片图像的MIME类型。
`transparent` | Boolean | `false` | 可选 如果true，WMS服务将返回具有透明度的图像。
`uppercase` | Boolean | `false` | 可选 如果true，WMS请求参数名称将是大写。
`version` | String | `'1.1.1'` | 可选 使用WMS服务版本
`crs` | L.CRS |  | 可选 坐标参考系统用于WMS请求，默认为映射CRS。如果您不确定这是什么意思，请不要更改。
`cql_filter` | string |  | 可选 筛选服务数据的SQL语句
`interactive` | Boolean | `true` | 可选 是否触发鼠标事件，如果false，图层不会发出鼠标click事件和popup。
`opacity` | Number | `1` | 可选 瓦片的不透明度。
`minZoom` | Number | `0` | 可选 最小的缩放级别
`maxZoom` | Number | `18` | 可选 最大的缩放级别
`maxNativeZoom` | Number |  | 可选 瓦片来源可用的最大缩放倍数。如果指定，则所有缩放级别上的图块maxNativeZoom将高于将从maxNativeZoom级别加载并自动缩放。
`minNativeZoom` | Number |  | 可选 瓦片来源可用的最小缩放数。如果指定，所有缩放级别上的图块minNativeZoom将从minNativeZoom级别加载并自动缩放。
`zIndex` | Number | `1` | 可选 瓦片层的显式zIndex
`rectangle` | Object |  | 可选 瓦片数据的矩形区域范围
参数名称 | 类型 | 描述信息
--- | --- | ---
`xmin` | Number | 最小经度值, -180 至 180
`xmax` | Number | 最大纬度值, -180 至 180
`ymin` | Number | 最小纬度值, -90 至 90
`ymax` | Number | 最大纬度值, -90 至 90
`bbox` | Array.<Number> |  | 可选 bbox规范的瓦片数据的矩形区域范围,与rectangle二选一即可。
`bounds` | L.LatLngBounds |  | 可选 leaflet原生写法，同rectangle或bbox
`errorTileUrl` | String |  | 可选 显示加载瓦片失败时，显示的图片的url
`tms` | Boolean |  | 可选 如果此值为true，反转切片Y轴的编号（对于TMS服务需将此项打开）
`zoomReverse` | Boolean | `false` | 可选 如果设置为true，则URL网址中使用的缩放z数字将被颠倒（maxZoom - zoom而不是zoom）
`xOffset` | Number |  | 可选 对URL中地图的缩放级别x值加上xOffset值
`yOffset` | Number |  | 可选 对URL中地图的缩放级别y值加上yOffset值
`zOffset` | Number |  | 可选 对URL中地图的缩放级别z值加上zOffset值
`customTags` | function |  | 可选 自定义对瓦片请求参数处理
`tileSize` | Number | L.Point | `256` | 可选 网格中瓦片的宽度和高度。如果宽度和高度相等，则使用数字，否则L.point(width, height)。
`className` | String |  | 可选 要分配给瓦片图层的自定义类名称
`keepBuffer` | Number | `2` | 可选 当平移地图时，在卸载它们之前，先保留许多行和列的数据块。
`detectRetina` | Boolean | `false` | 可选 如果此项为true，并且用户是视网膜显示模式，会请求规定大小一般的四个切片和一个地区内一个更大的缩放级别来利用高分辨率.
`crossOrigin` | Boolean | `false` | 可选 如果为true，则所有图块将其crossOrigin属性设置为“*”。如果要访问像素数据，则需要这样做。
`updateInterval` | Number | `200` | 可选 当平移时，updateInterval毫秒不会更新一次瓦片。
`updateWhenZooming` | Boolean | `true` | 可选 默认情况下，平滑缩放动画（touch zoom 或flyTo()） 会在整个缩放级别更新网格图层。设置此选项false将仅在平滑动画结束时更新网格层。
`noWrap` | Boolean | `false` | 可选 该层是否在子午线断面。 如果为true，GridLayer只能在低缩放级别显示一次。当地图CRS 不包围时，没有任何效果。 可以结合使用bounds 以防止在CRS限制之外请求瓦片。
`chinaCRS` | ChinaCRS |  | 可选 标识瓦片的国内坐标系（用于自动纠偏或加偏），自动将瓦片转为map对应的chinaCRS类型坐标系。
`popup` | String | Array.<Globe.getTemplateHtml_template> | function |  | 可选 绑定的popup弹窗值，也可以bindPopup方法绑定，支持：'all'、数组、字符串模板
`popupOptions` | Map.PopupOptions |  | 可选 popup弹窗时的配置参数
`highlight` | object |  | 可选 鼠标移单击后高亮对应的矢量对象的样式
`options.id` | String | Number | `createGuid()` | 可选 图层id标识
`options.pid` | String | Number | `-1` | 可选 图层父级的id，一般图层管理中使用
`options.name` | String | `''` | 可选 图层名称
`options.show` | Boolean | `true` | 可选 图层是否显示
`options.pane` | String | `'tilePane'` | 可选 指定图层添加到地图的哪个pane的DIV中，用于控制不同层级显示的，优先级高于zIndex。

##### 参考:

- `支持的事件类型`

### 继承自

- L.TileLayer.WMS

### 属性值

#### 只读 hasOpacity : boolean
layer/tileLayer/WmsLayer.js 213

是否可以调整透明度

#### 只读 hasZIndex : Boolean
layer/tileLayer/WmsLayer.js 178

是否可以调整图层顺序（在同类型图层间）

#### id : String|Number
layer/tileLayer/WmsLayer.js 111

对象的id标识

#### 只读 isAdded : Boolean
layer/tileLayer/WmsLayer.js 89

是否已添加到地图

#### name : String
layer/tileLayer/WmsLayer.js 124

名称 标识

#### opacity : Number
layer/tileLayer/WmsLayer.js 199

透明度

#### pid : String|Number
layer/tileLayer/WmsLayer.js 98

对象的pid标识

#### show : Boolean
layer/tileLayer/WmsLayer.js 137

显示隐藏状态

#### url : String
layer/tileLayer/WmsLayer.js 163

图层服务地址

默认值: `1.0`

#### zIndex : Number
layer/tileLayer/WmsLayer.js 186

图层顺序，数字大的在上面。

### 方法

#### addEventParent(obj) → WmsLayer
layer/tileLayer/WmsLayer.js 506

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

参数名称 | 类型 | 描述信息
--- | --- | ---
`obj` | Object | 父类对象

##### 返回值:

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

#### addTo(map) → WmsLayer
layer/tileLayer/WmsLayer.js 395

将图层添加到地图

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

##### 返回值:

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

#### bindPopup(fn, popupOptions) → WmsLayer
layer/tileLayer/WmsLayer.js 302

绑定Popup弹窗配置

参数名称 | 类型 | 描述信息
--- | --- | ---
`fn` | String | Object | function | Popup弹窗模板或回调方法
`popupOptions` | Map.PopupOptions | 可选 Popup弹窗参数

##### 返回值:

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

#### bringToBack() → WmsLayer
layer/tileLayer/WmsLayer.js 376

将图层置于所有图层之下

##### 返回值:

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

#### bringToFront() → WmsLayer
layer/tileLayer/WmsLayer.js 367

将图层置于所有图层之上

##### 返回值:

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

#### closePopup() → WmsLayer
layer/tileLayer/WmsLayer.js 414

关闭打开的弹窗

##### 返回值:

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

#### fire(type, data, propagate) → void
layer/tileLayer/WmsLayer.js 467

触发指定类型的事件。

参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`type` | String | EventType |  | 事件类型
`data` | Object |  | 可选 传输的数据或对象，可在事件回调方法中event对象中获取进行使用
`propagate` | BaseClass | Object | `null` | 可选 将事件传播给父类 (用addEventParent设置)

##### 返回值:

无

#### getBounds() → L.LatLngBounds
layer/tileLayer/WmsLayer.js 346

获取图层矩形边界(构造参数设置的)

##### 返回值:

矩形边界

#### getPopup() → L.Popup
layer/tileLayer/WmsLayer.js 432

获取当前绑定在图层上的Popup弹窗对象

##### 返回值:

Popup弹窗对象

#### isPopupOpen() → boolean
layer/tileLayer/WmsLayer.js 423

当前绑定的弹窗是是否打开

##### 返回值:

是否打开弹窗

#### listens(type, propagate) → Boolean
layer/tileLayer/WmsLayer.js 494

是否有绑定指定的事件

参数名称 | 类型 | 描述信息
--- | --- | ---
`type` | String | EventType | 事件类型
`propagate` | Object | 可选 是否判断指定的父类 (用addEventParent设置的)

##### 返回值:

是否存在

#### off(types, fn, context) → void
layer/tileLayer/WmsLayer.js 454

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

参数名称 | 类型 | 描述信息
--- | --- | ---
`types` | String | EventType | Object | 可选 事件类型，Object时删除一组类型/侦听器对。
`fn` | function | 可选 绑定的监听器回调方法
`context` | Object | 可选 侦听器的上下文(this关键字将指向的对象)。

##### 返回值:

无

#### on(type, fn, context) → void
layer/tileLayer/WmsLayer.js 441

绑定指定类型事件监听器

参数名称 | 类型 | 描述信息
--- | --- | ---
`type` | String | EventType | Object | 事件类型，当是Object时可以添加一组类型/侦听器对，例如 {click: onClick, mousemove: onMouseMove}
`fn` | function | 可选 绑定的监听器回调方法
`context` | Object | 可选 侦听器的上下文(this关键字将指向的对象)。

##### 返回值:

无

#### once(types, fn, context) → void
layer/tileLayer/WmsLayer.js 480

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

参数名称 | 类型 | 描述信息
--- | --- | ---
`types` | String | EventType | Object | 可选 事件类型，Object时删除一组类型/侦听器对。
`fn` | function | 可选 绑定的监听器回调方法
`context` | Object | 可选 侦听器的上下文(this关键字将指向的对象)。

##### 返回值:

无

#### remove() → WmsLayer
layer/tileLayer/WmsLayer.js 405

将图层从地图上移除

##### 返回值:

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

#### removeEventParent(obj) → WmsLayer
layer/tileLayer/WmsLayer.js 516

移除抛出事件到父类

参数名称 | 类型 | 描述信息
--- | --- | ---
`obj` | Object | 父类对象

##### 返回值:

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

#### setBounds(bounds) → void
layer/tileLayer/WmsLayer.js 338

设置图层矩形边界

参数名称 | 类型 | 描述信息
--- | --- | ---
`bounds` | L.LatLngBounds | 矩形边界

##### 返回值:

#### setOpacity(opacity) → WmsLayer
layer/tileLayer/WmsLayer.js 385

设置覆盖的透明度

参数名称 | 类型 | 描述信息
--- | --- | ---
`opacity` | Number | 透明度，取值范围 0-1

##### 返回值:

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

#### setParams(params, noRedraw) → WmsLayer
layer/tileLayer/WmsLayer.js 356

使用新参数更新合并参数，并更新服务。

参数名称 | 类型 | 描述信息
--- | --- | ---
`params` | Object | 合并参数
`noRedraw` | Boolean | 可选 是否在当前屏幕范围重新请求图块,为true时不请求

##### 返回值:

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

#### unbindPopup() → WmsLayer
layer/tileLayer/WmsLayer.js 327

解除绑定Popup弹窗配置

##### 返回值:

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