# SmTileLayer
查阅Leaflet API

#### new mars2d.layer.SmTileLayer(options)
layer/tileLayer/SmTileLayer.js 31

超图SuperMap iServer 的 REST 地图服务的图层(SuperMap iServer Java 6R 及以上分块动态 REST 图层)。使用 TileImage 资源出图。

参数名称 | 类型 | 描述信息
--- | --- | ---
`options` | Object | 参数对象，包括以下：
参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`url` | string |  | 服务地址，例如:https://iserver.supermap.io/iserver/services/map-world/rest/maps/World
`subdomains` | String | Array.<String> |  | 可选 子域名数组。
`layersID` | string |  | 可选 获取进行切片的地图图层 ID，即指定进行地图切片的图层，可以是临时图层集，也可以是当前地图中图层的组合
`redirect` | boolean | `false` | 可选 是否重定向，如果为 true，则将请求重定向到瓦片的真实地址；如果为 false，则响应体中是瓦片的字节流。
`transparent` | boolean | `true` | 可选 是否背景透明。
`cacheEnabled` | boolean | `true` | 可选 启用缓存。
`clipRegionEnabled` | boolean | `false` | 可选 是否启用地图裁剪。
`clipRegion` | L.Path |  | 可选 地图显示裁剪的区域。是一个面对象，当 clipRegionEnabled = true 时有效，即地图只显示该区域覆盖的部分。
`prjCoordSys` | Object |  | 可选 请求的地图的坐标参考系统。 如：prjCoordSys={"epsgCode":3857}。
`overlapDisplayed` | boolean | `false` | 可选 地图对象在同一范围内时，是否重叠显示。
`overlapDisplayedOptions` | string |  | 可选 避免地图对象压盖显示的过滤选项。
`tileversion` | string |  | 可选 切片版本名称，cacheEnabled 为 true 时有效。如果没有设置 tileversion 参数，而且当前地图的切片集中存在多个版本，则默认使用最后一个更新版本。
`crs` | CRS |  | 可选 坐标系统类。
`tileProxy` | string |  | 可选 服务代理地址。
`format` | string | `'png'` | 可选 瓦片表述类型，支持 "png" 、"webp"、"bmp" 、"jpg"、 "gif" 等图片格式。
`tileSize` | number | L.Point | `256` | 可选 瓦片大小。
`rasterfunction` | object |  | 可选 栅格分析参数。
`id` | String | Number | `createGuid()` | 可选 图层id标识
`pid` | String | Number | `-1` | 可选 图层父级的id，一般图层管理中使用
`name` | String | `''` | 可选 图层名称
`show` | Boolean | `true` | 可选 图层是否显示
`pane` | String | `'tilePane'` | 可选 指定图层添加到地图的哪个pane的DIV中，用于控制不同层级显示的，优先级高于zIndex。

##### 参考:

- `支持的事件类型`

### 继承自

- TileLayer

### 属性值

#### bounds : L.LatLngBounds
layer/tileLayer/TileLayer.js 274

图层矩形边界

继承自:
  - TileLayer#bounds

#### 只读 container : HTMLElement
layer/tileLayer/TileLayer.js 152

获取图层对应的DOM容器

继承自:
  - TileLayer#container

#### customColor : string|function
layer/tileLayer/TileLayer.js 375

设置自定义颜色

继承自:
  - TileLayer#customColor

#### 只读 hasOpacity : boolean
layer/tileLayer/TileLayer.js 300

是否可以调整透明度

继承自:
  - TileLayer#hasOpacity

#### 只读 hasZIndex : Boolean
layer/tileLayer/TileLayer.js 253

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

继承自:
  - TileLayer#hasZIndex

#### id : String|Number
layer/tileLayer/TileLayer.js 185

对象的id标识

继承自:
  - TileLayer#id

#### 只读 isAdded : Boolean
layer/tileLayer/TileLayer.js 163

是否已添加到地图

继承自:
  - TileLayer#isAdded

#### name : String
layer/tileLayer/TileLayer.js 198

名称 标识

继承自:
  - TileLayer#name

#### opacity : Number
layer/tileLayer/TileLayer.js 286

透明度

继承自:
  - TileLayer#opacity

#### pid : String|Number
layer/tileLayer/TileLayer.js 172

对象的pid标识

继承自:
  - TileLayer#pid

#### show : Boolean
layer/tileLayer/TileLayer.js 211

显示隐藏状态

继承自:
  - TileLayer#show

#### url : String
layer/tileLayer/TileLayer.js 238

图层服务地址

继承自:
  - TileLayer#url
默认值: `1.0`

#### zIndex : Number
layer/tileLayer/TileLayer.js 261

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

继承自:
  - TileLayer#zIndex

### 方法

#### addEventParent(obj) → TileLayer
layer/tileLayer/TileLayer.js 637

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

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

##### 返回值:

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

继承自:
  - TileLayer#addEventParent

#### addTo(map) → TileLayer
layer/tileLayer/TileLayer.js 553

将图层添加到地图

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

##### 返回值:

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

继承自:
  - TileLayer#addTo

#### bringToBack() → TileLayer
layer/tileLayer/TileLayer.js 534

将图层置于所有图层之下

##### 返回值:

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

继承自:
  - TileLayer#bringToBack

#### bringToFront() → TileLayer
layer/tileLayer/TileLayer.js 525

将图层置于所有图层之上

##### 返回值:

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

继承自:
  - TileLayer#bringToFront

#### destroy(noDel) → void
layer/tileLayer/TileLayer.js 507

销毁当前对象

参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`noDel` | Boolean | `false` | 可选 false:会自动delete释放所有属性，true：不delete绑定的变量

##### 返回值:

无

继承自:
  - TileLayer#destroy

#### fire(type, data, propagate) → void
layer/tileLayer/TileLayer.js 598

触发指定类型的事件。

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

##### 返回值:

无

继承自:
  - TileLayer#fire

#### flyTo(options) → TileLayer
layer/tileLayer/TileLayer.js 492

定位地图至当前图层数据区域

参数名称 | 类型 | 描述信息
--- | --- | ---
`options` | Object | 可选 定位参数，包括:
参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`paddingTopLeft` | L.Point | Array.<Number> |  | 可选 设置在将视图设置为适合边界时不应考虑的地图容器左上角的填充量。如果您在地图上有一些控件重叠式（如侧边栏），而且您不希望它们遮挡您正在缩放的对象，则很有用。
`paddingBottomRight` | L.Point | Array.<Number> |  | 可选 同上，不考虑地图容器右下角时使用。
`padding` | L.Point | Array.<Number> |  | 可选 相当于将左上和右下填充设置为相同的值。
`maxZoom` | Number |  | 可选 最大层级
`animate` | Boolean | `true` | 可选 是否进行动画缩放。false时始终重置视图完全没有动画。
`duration` | Number | `0.25` | 可选 动画平移的持续时间，以秒为单位。
`easeLinearity` | Number | `0.25` | 可选 平移动画宽松的曲率因子 Cubic Bezier curve曲线的第三个参数。1.0表示线性动画，而这个数字越小，曲线越鞠躬。
`noMoveStart` | Boolean | `false` | 可选 如果true，平移不会movestart在启动时触发事件（内部用于平移惯性）。

##### 返回值:

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

继承自:
  - TileLayer#flyTo

#### getBounds() → L.LatLngBounds
layer/tileLayer/TileLayer.js 474

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

##### 返回值:

矩形边界

继承自:
  - TileLayer#getBounds

#### getScale(zoom) → number
layer/tileLayer/SmTileLayer.js 110

根据缩放级别获取比例尺。

参数名称 | 类型 | 描述信息
--- | --- | ---
`zoom` | number | 缩放级别

##### 返回值:

比例尺

#### getScaleFromCoords(coords) → number
layer/tileLayer/SmTileLayer.js 121

通过行列号获取比例尺。

参数名称 | 类型 | 描述信息
--- | --- | ---
`coords` | Object | 行列号

##### 返回值:

比例尺

#### getTileUrl(coords) → String
layer/tileLayer/TileLayer.js 319

仅在内部调用，返回给定坐标的瓦片的URL。扩展类TileLayer可以覆盖此功能，以提供自定义图块URL命名方案。

参数名称 | 类型 | 描述信息
--- | --- | ---
`coords` | Object | 瓦片的xyz信息

##### 返回值:

瓦片图片URL地址

继承自:
  - TileLayer#getTileUrl

#### listens(type, propagate) → Boolean
layer/tileLayer/TileLayer.js 625

是否有绑定指定的事件

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

##### 返回值:

是否存在

继承自:
  - TileLayer#listens

#### off(types, fn, context) → void
layer/tileLayer/TileLayer.js 585

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

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

##### 返回值:

无

继承自:
  - TileLayer#off

#### on(type, fn, context) → void
layer/tileLayer/TileLayer.js 572

绑定指定类型事件监听器

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

##### 返回值:

无

继承自:
  - TileLayer#on

#### once(types, fn, context) → void
layer/tileLayer/TileLayer.js 611

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

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

##### 返回值:

无

继承自:
  - TileLayer#once

#### remove() → TileLayer
layer/tileLayer/TileLayer.js 563

将图层从地图上移除

##### 返回值:

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

继承自:
  - TileLayer#remove

#### removeEventParent(obj) → TileLayer
layer/tileLayer/TileLayer.js 647

移除抛出事件到父类

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

##### 返回值:

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

继承自:
  - TileLayer#removeEventParent

#### setBounds(bounds) → void
layer/tileLayer/TileLayer.js 466

设置图层矩形边界

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

##### 返回值:

继承自:
  - TileLayer#setBounds

#### setOpacity(opacity) → TileLayer
layer/tileLayer/TileLayer.js 543

设置覆盖的透明度

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

##### 返回值:

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

继承自:
  - TileLayer#setOpacity