Class: TiledMapLayer

TiledMapLayer

以地图瓦片的方式展示 SuperMap iServer 的 REST 地图服务的地图。它通过调用 TileImage 接口获取地图瓦片。

new TiledMapLayer(url, options)

Usage
import { TiledMapLayer } from '@supermapgis/iclient-leaflet';

new TiledMapLayer(url, options);
<script type="text/javascript" src="https://iclient.supermap.io/dist/leaflet/iclient-leaflet.js"></script>
<script>
  new L.supermap.TiledMapLayer({paramsNames});
  // 弃用的写法

  L.supermap.tiledMapLayer(url, options);
</script>
leaflet/mapping/TiledMapLayer.js, line 13
Name Type Description
url string

服务地址,例如: http://{ip}:{port}/iserver/services/map-world/rest/maps/World。

options Object

参数。

Name Type Default Description
layersID string 可选

获取进行切片的地图图层 ID,即指定进行地图切片的图层,可以是临时图层集,也可以是当前地图中图层的组合。

redirect boolean false 可选

是否重定向,如果为 true,则将请求重定向到瓦片的真实地址;如果为 false,则响应体中是瓦片的字节流。

transparent boolean true 可选

背景是否透明。

cacheEnabled boolean true 可选

是否缓存到本地。为 true 时,访问发布的服务时就可以在本地生成地图瓦片,从而可以提高后续服务浏览访问的速度。

clipRegionEnabled boolean false 可选

是否启用地图裁剪。

clipRegion L.Path 可选

地图显示裁剪的区域。是一个面对象,当 clipRegionEnabled = true 时有效,即地图只显示该区域覆盖的部分。

prjCoordSys Object 可选

请求的地图瓦片的坐标参考系统。 如:prjCoordSys={"epsgCode":3857}。当此参数设置的坐标系统不同于地图的原有坐标系统时, 系统会进行坐标转换,并返回坐标转换后的地图瓦片。

overlapDisplayed boolean false 可选

地图对象在同一范围内时,是否重叠显示,如果为 true,则同一范围内的对象会直接压盖;如果为 false 则通过 overlapDisplayedOptions 控制对象不压盖显示。

overlapDisplayedOptions string 可选

避免地图对象压盖显示的过滤选项,当 overlapDisplayed 为 false 时有效。在文本或专题图元素显示较密集的区域,文本之间或专题元素之间会发生相互压盖的现象, 此选项可以分别控制各种类型的对象的压盖显示情况,以处理地图中各种类型对象的压盖显示问题。

tileversion string 可选

切片版本名称,cacheEnabled 为 true 时有效。如果没有设置 tileversion 参数,而且当前地图的切片集中存在多个版本,则默认使用最后一个更新版本。

crs CRS 可选

坐标系统类。

tileProxy string 可选

服务代理地址。

format string 'png' 可选

瓦片表述类型,支持 "png"、"webp"、"bmp"、"jpg"、"gif" 等图片格式。

tileSize number | L.Point 256 可选

瓦片大小。

rasterfunction NDVIParameter | HillshadeParameter 可选

栅格分析参数。

attribution string 'Map Data <span>© <a href='http://support.supermap.com.cn/product/iServer.aspx' title='SuperMap iServer' target='_blank'>SuperMap iServer</a></span>' 可选

版权描述信息。

subdomains Array.<number> | Array.<string> 可选

子域名数组。

chartSetting ChartSettingS57 | ChartSettingS100 可选

海图显示参数设置类,用于管理海图显示环境,包括海图的显示模式、显示类型名称、颜色模式、安全水深线等各种显示风格。

overflowTiles number 0 可选

绘制超出图层范围的瓦片圈数。常用于位于地图边缘的要素符号显示不全的场景。默认值为0,表示不绘制超出图层范围的瓦片。当 options.noWrap 为 true 时,overflowTiles有效。

bufferTiles number 0 可选

视野外预加载的瓦片圈数。默认 0 表示不预加载;为 1 时上下左右各多加载一圈,可减少平移时的空白块。

tileCache boolean false 可选

是否启用客户端瓦片缓存。开启后缩放时优先使用已缓存瓦片填充,可避免放大、缩小、平移时的空白块。默认不启用。

tileCacheZoomRange number 5 可选

tileCache 为 true 时生效。缓存瓦片相对当前视野的缩放范围倍数。缓存上限为视野瓦片数 × tileCacheZoomRange。默认值为 5。

maxOverzooming number 8 可选

缩放时保留父级(更低级别)瓦片的深度,用于放大过程中的占位填充。

maxUnderzooming number 3 可选

缩放时保留子级(更高级别)瓦片的深度,用于缩小过程中的占位填充。

Fires
Example
new TiledMapLayer(url).addTo(map);

API Relations

As method parameter: ChangeTileVersion.setLayer.

Extends

TiledMapLayer -> L.TileLayer

Events

tilesetsinfoloaded

leaflet/mapping/TiledMapLayer.js, line 243

瓦片集信息设置完成后触发。

Properties:
Name Type Description
tileVersions Array.<Object>

瓦片集信息。

tileversionschanged

leaflet/mapping/TiledMapLayer.js, line 294

切片的版本切换和重绘成功之后触发。

Properties:
Name Type Description
tileVersion Object

该版本的切片。

Methods

changeTilesVersion()

leaflet/mapping/TiledMapLayer.js, line 272

切换到某一版本的切片,并重绘。通过 this.tempIndex 保存需要切换的版本索引。

getScale(zoom){number}

leaflet/mapping/TiledMapLayer.js, line 170

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

Name Type Description
zoom number

缩放级别。

Returns:
Type Description
number 比例尺。

getScaleFromCoords(coords){number}

leaflet/mapping/TiledMapLayer.js, line 183

通过行列号获取比例尺。

Name Type Description
coords Object

行列号。

Returns:
Type Description
number 比例尺。

getTileUrl(coords){string}

leaflet/mapping/TiledMapLayer.js, line 147

根据行列号获取瓦片地址。

Name Type Description
coords Object

行列号。

Returns:
Type Description
string 瓦片地址。

lastTilesVersion()

leaflet/mapping/TiledMapLayer.js, line 254

请求上一个版本切片,并重新绘制。

mergeTileVersionParam(version){boolean}

leaflet/mapping/TiledMapLayer.js, line 315

更改URL请求参数中的切片版本号,并重绘。

Name Type Description
version string

切片版本号。

Returns:
Type Description
boolean 是否成功。

nextTilesVersion()

leaflet/mapping/TiledMapLayer.js, line 263

请求下一个版本切片,并重新绘制。

setTileSetsInfo(tileSets)

leaflet/mapping/TiledMapLayer.js, line 230

设置瓦片集信息。

Name Type Description
tileSets Object

瓦片对象集。

updateCurrentTileSetsIndex(index)

leaflet/mapping/TiledMapLayer.js, line 306

手动设置当前切片集索引,目前主要提供给控件使用。

Name Type Description
index number

索引值。