layer~Tile3DLayer(name, tilesetUrl, options)

支持3dtiles格式的倾斜摄影数据的显示,当前兼容4326和3857两种坐标系,当前只支持数据拓展名为.b3dm格式的3dtiles数据,需要以空信平台指定的工具和选项进行转换

Summary

Methods:
fromHMapPlatform

通过空间信息服务平台元数据创建图层

addHighlight

添加高亮信息,enableHighlight开启后有效

checkTileCache

检查切片缓存

checkTraversal

检查并遍历一张切片

clearHighlight

清除所有高亮信息

getLayerType

获取图层类型

getRotate

获取3dtiles数据集的旋转角度

getScale

获取Tile3D数据整体缩放

getTranslate

获取Tile3D数据整体平移

onRootReady

根节点准备完成后完成回调

removeHighlight

移除该id对应的高亮信息

setRotate

设置3dtiles数据集的旋转角度

setScale

设置Tile3D数据整体缩放

setTranslate

设置Tile3D数据整体平移

zoomToData

缩放到本图层中有数据的部分,需要确保图层已经添加到地图中,并且根节点已经准备好,即在onRootReady回调进入之后再调用。

Constructor

new Tile3DLayer(name, tilesetUrl, options)

Parameters:
Name Type Description
name String

图层名称

tilesetUrl String

tileset配置文件的路径

options Object

可选项

Name Type Description
translate Array.<Number>

3dtiles数据集的放置位置,三个长度的数组,比如[120, 30, 0.1]。

rotate Array.<Number>

3dtiles数据集的旋转角度,为了兼容部分y轴向上数据集的情况,如果需要设置,固定设置为[90,0,0]。

maximumScreenSpaceError Number

3dtiles数据集的最大屏幕像素误差,用于控制切片显示的时机,默认值为64。数值越小,切片显示越精细,对应的显存和GPU占用就越高;反之,数值越大,切片显示越粗糙,显存和GPU显示越低。

cacheNumber Number

tile3d图层缓存的切片数量,默认值为100,数值越小,缓存的切片越少,对GPU的占用也越小,但是浏览过程中会频繁请求切片;数值越大,缓存的切片会越多,已缓存的切片不会重复请求,浏览会更流畅,但同时对GPU的占用也越高,在性能较差的电脑上可能会崩溃黑屏。

scale Number

tile3d图层整体缩放比例,默认为1,在实际项目中加载的tile3d图层往往对不上实际的经纬度,除了可以在图层初始化选项中设置matrix的scale外,还可能需要微调整体缩放,这里放出参数。

zUnits Number

tile3dLayer在设置平移时,高度上的单位,有"degree"和"meter"两个枚举值,在地图的坐标系为"4326"的情况下,默认为"degree",在坐标系为"3857"的情况下,默认为"meter"。

baseGroundLayer Boolean

是否三维基础图层,如果设置成三维基础图层,贴地绘制的图层将会绘制到该图层上。

enableHighlight Boolean

是否开启高亮(单体化)支持,默认为false,开启后可以高亮某一区域的s3m数据。

numHighlight Number

最多支持高亮状态数量,默认为5,最大值128,开启enableHighlight后有效。

Members

depthTest

获取图层的深度测试属性
return {Boolean} 深度测试属性

Overrides:

Methods

static fromHMapPlatform(metadataUrl, options) → {Promise}

通过空间信息服务平台元数据创建图层

Parameters:
Name Type Description
metadataUrl String

空间信息服务平台服务对应的元数据地址

options options

可选项,对空间信息服务平台元数据不包含的可选项进行补充,若传入的可选项与元数据中重复,以元数据为准。

Returns:
Promise -

图层创建的promise,resolve返回图层实例

addHighlight(id, highlightInfo)

添加高亮信息,enableHighlight开启后有效

Parameters:
Name Type Description
id object

唯一标识,基于该表示可进行对象删除,重复id最后添加的有效

highlightInfo Object

高亮信息

Name Type Description
polygon module:geom~Polygon

二维矢量面数据

minHeight Number

最小高度,默认为-100,地图单位

maxHeight Number

最大高度,默认为1000,地图单位

color module:style~Color

高亮颜色,默认为红色

checkTileCache()

检查切片缓存

checkTraversal(tile)

检查并遍历一张切片

Parameters:
Name Type Description
tile

clearHighlight()

清除所有高亮信息

getLayerType() → {String}

获取图层类型

Returns:
String -

图层类型

getRotate() → {Array.<Number>}

获取3dtiles数据集的旋转角度

Returns:
Array.<Number> -

数据集的旋转角度

getScale() → {Number}

获取Tile3D数据整体缩放

Returns:
Number -

整体缩放值

getTranslate() → {Array.<Number>}

获取Tile3D数据整体平移

Returns:
Array.<Number> -

整体平移,[x,y,z]类型

onRootReady(callback)

根节点准备完成后完成回调

Parameters:
Name Type Description
callback

removeHighlight(id)

移除该id对应的高亮信息

Parameters:
Name Type Description
id object

setRotate(rotate)

设置3dtiles数据集的旋转角度

Parameters:
Name Type Description
rotate Array.<Number>

数据集的旋转角度,三个长度的数组,每个分量为角度单位,比如[90,0,0]。

setScale(scale)

设置Tile3D数据整体缩放

Parameters:
Name Type Default Description
scale Number 1

整体缩放

setTranslate(trans)

设置Tile3D数据整体平移

Parameters:
Name Type Description
trans Array.<Number>

整体平移,[x,y,z]类型

zoomToData()

缩放到本图层中有数据的部分,需要确保图层已经添加到地图中,并且根节点已经准备好,即在onRootReady回调进入之后再调用。