layer~ThreeJSLayer(name, options)

集成了three.js的图层,构造该图层之后,图层中就已经包含了three.js中的三要素,包括包括场景scene、相机camera、渲染器renderer,我们可以通过操作这些属性来控制three.js图层。

Summary

Methods:
addToRenderQueue

将函数添加到three.js的渲染中,每次渲染都会调用此方法

getInvisibleViewport

返回可见的视口。(已废弃,后期版本不再维护)

getLayerType

获取图层类型

getMaxVisibleZoom

获取图层的最大显示层级。

getMinVisibleZoom

获取图层的最小显示层级。

getName

获取图层名称。

getVisibility

获取可见性

getZIndex

获取图层的先后渲染顺序

handleBeforeMapRedraw

将函数添加到three.js的渲染中,每次渲染都会调用此方法

prepareData

保留方法

redraw

重新绘制图层

setMap

设置地图

setMaxVisibleZoom

设置图层的最大显示层级。

setMinVisibleZoom

设置图层的最小显示层级。

setVisibility

设置图层的可见性。仅设置该图层是否可见,而图层本身依然存在。

setVisibleInViewport

设置在某一视口的可见性。(已废弃,后期版本不再维护,如果想实现分屏推荐使用分屏控件hmap.control.Roller或者hmap.frame.SplitScreenFrame)

setZIndex

设置图层在图层容器中的顺序。

Constructor

new ThreeJSLayer(name, options)

Parameters:
Name Type Description
name String

图层名称

options Object

图层初始化选项

Name Type Description
minVisibleZoom Number

设置图层的最小显示层级,其值为整数,当缩放级别小于该层级时,不显示图层。

maxVisibleZoom Number

设置图层的最大显示层级,其值为整数,当缩放级别大于该层级时,不显示图层。

autoClear Boolean

three.js图层是否自动刷新,对应了three.js中渲染器renderer的autoClear属性,这里three.js内部renderer的autoClear已经设置为false,不要更改!如果图层需要自动刷新,则将当前参数设置为true。

origin Array

这里定义为图层原点,即three.js场景中心点放置到地图中的位置,默认为[0,0,0],不传或者错传取默认值,建议设置到小场景地图中心点附近,设置之后,场景中的物体位置需要设置为相对于该参数的值,此方法可以改善高精度小场景下数据精度损失的问题。

Methods

addToRenderQueue(func)

将函数添加到three.js的渲染中,每次渲染都会调用此方法

Parameters:
Name Type Description
func function

getInvisibleViewport()

返回可见的视口。(已废弃,后期版本不再维护)

Deprecated:
  • Yes

getLayerType() → {String}

获取图层类型

Returns:
String

getMaxVisibleZoom() → {Number}

获取图层的最大显示层级。

Returns:
Number -

图层的最大显示层级

getMinVisibleZoom() → {Number}

获取图层的最小显示层级。

Returns:
Number -

图层的最小显示层级

getName() → {String}

获取图层名称。

Returns:
String -

图层名称

getVisibility()

获取可见性

getZIndex()

获取图层的先后渲染顺序

handleBeforeMapRedraw()

将函数添加到three.js的渲染中,每次渲染都会调用此方法

Parameters:
Type Description
function

prepareData()

保留方法

redraw(type)

重新绘制图层

Parameters:
Name Type Default Description
type Number 1

取值为0或1,0表示map调用redraw,1表示layer调用redraw,默认为1。

setMap()

设置地图

setMaxVisibleZoom(maxVisibleZoom)

设置图层的最大显示层级。

Parameters:
Name Type Default Description
maxVisibleZoom Number 24

当缩放级别大于该层级时,不显示图层。

Throws:
Error -

当参数不在[0, 24]区间范围时,抛出异常。

setMinVisibleZoom(minVisibleZoom)

设置图层的最小显示层级。

Parameters:
Name Type Default Description
minVisibleZoom Number 0

当缩放级别小于该层级时,不显示图层。

Throws:
Error -

当参数不在[0, 24]区间范围时,抛出异常。

setVisibility(visible)

设置图层的可见性。仅设置该图层是否可见,而图层本身依然存在。

Parameters:
Name Type Default Description
visible Boolean true

是否可见,默认为true,可见。

Throws:
TypeError -

当参数不是布尔类型时,抛出异常。

setVisibleInViewport(viewportIndex, visibility)

设置在某一视口的可见性。(已废弃,后期版本不再维护,如果想实现分屏推荐使用分屏控件hmap.control.Roller或者hmap.frame.SplitScreenFrame)

Parameters:
Name Type Description
viewportIndex Number

视口的索引

visibility Boolean

可见性

Deprecated:
  • Yes

setZIndex(zIndex)

设置图层在图层容器中的顺序。

Parameters:
Name Type Description
zIndex Number

图层的zIndex,值越大,图层越靠近上方。但是该值改变不了图层容器的上下顺序。