abstract layer~Layer(options)

该类是图层的顶级抽象类,可以被继承,但不能直接实例化,通过其子类实例化一个具体的图层对象。
图层是由渲染系统、地理元素及一些特定的计算行为组成的数据表达机制,若干图层按顺序组合、叠加到地图容器中,把地球表面系统中的自然或人文特征概括性地表达出来。
当图层被创建但未叠加到地图容器中时,是处于游离态的,图层中的地理元素可以参与逻辑运算,但不会被渲染;一旦叠加到地图上,图层的重绘行为即被触发,地理元素将被渲染到浏览器中。
注意:同一个地理要素只能添加到一个图层使用。

Summary

Methods:
destroy

销毁图层。

getInvisibleViewport

返回不可见的视口,建议使用场景为分屏情况,在不分屏的情况下没有什么意义。(已废弃,后期版本不再维护)

getLayerType

获取图层类型

getMaxVisibleZoom

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

getMinVisibleZoom

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

getName

获取图层名称。

getOpacity

获取图层不透明度。

getVisibility

获取图层的可见性。

getZIndex

返回图层的zIndex值。

redraw

重新绘制图层。

setMaxVisibleZoom

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

setMinVisibleZoom

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

setName

设置图层名称。

setOpacity

设置图层透明度。0表示完全透明,1表示完全不透明。

setVisibility

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

setVisibleInViewport

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

setZIndex

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

Constructor

new abstract Layer(options)

Parameters:
Name Type Description
options Object

可选项

Name Type Description
enableHashCode Boolean

是否启用拾取,默认为false。

static Boolean

图层是否是静态图层,默认为true,当设置为false时,地图会逐帧重绘当前图层所在的容器下的所有的图层,对地图的用户体验有较大影响,建议慎重设置。

isRTE Boolean

是否使用精度补偿。接收参数true|false,默认为false。如果设定为true会导致数据运算量增加,但层级较大时,渲染准确率高。

opacity Number

设置图层透明度,介于0~1之间,0表示完全透明,1表示完全不透明。默认为1.0,完全不透明。

minVisibleZoom Number

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

maxVisibleZoom Number

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

visibility Boolean

设置图层可见性,默认为true。

enableShadow Boolean

是否开启阴影,只有在有光源的情况下才能产生阴影,默认为false

transactionNum Number

indexedDB同一时刻事务上限,默认为2

serviceVersion Number

服务版本号,对应的是hmap服务元数据中的serviceVersion字段,用于在useLocalStorage设置为true的情况下,区分服务是否发生了变化,默认为null。

inverseZ Boolean

是否需要基于此图层获取高度值,用于在地图对象的getHeightByCoord方法中返回,默认为true,此选项需要开启图层深度测试,否则无效。

Throws:
Error -

当直接实例化Layer类时,抛出异常“Layer-constructor:the Layer is abstract class,can not be instantiated!”。

Members

depthTest

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

Methods

destroy()

销毁图层。

getInvisibleViewport()

返回不可见的视口,建议使用场景为分屏情况,在不分屏的情况下没有什么意义。(已废弃,后期版本不再维护)

Deprecated:
  • Yes

getLayerType() → {String}

获取图层类型

Returns:
String -

图层类型

getMaxVisibleZoom() → {Number}

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

Returns:
Number -

图层的最大显示层级

getMinVisibleZoom() → {Number}

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

Returns:
Number -

图层的最小显示层级

getName() → {String}

获取图层名称。

Returns:
String -

图层名称

getOpacity() → {Number}

获取图层不透明度。

Returns:
Number -

图层的不透明度

getVisibility() → {Boolean}

获取图层的可见性。

Returns:
Boolean -

true表示可见,false表示不可见。

getZIndex() → {Number}

返回图层的zIndex值。

Returns:
Number -

图层的zIndex

redraw(type)

重新绘制图层。

Parameters:
Name Type Default Description
type Number 1

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

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]区间范围时,抛出异常。

setName(name)

设置图层名称。

Parameters:
Name Type Description
name String

图层名称

Throws:
Error -

当name不是String类型时抛出异常。

setOpacity(opacity)

设置图层透明度。0表示完全透明,1表示完全不透明。

Parameters:
Name Type Default Description
opacity Number 1

图层透明度,介于0~1之间。

Throws:
TypeError -

当图层的透明度值不是一个0-1之间的数字时,抛出异常“opacity must be a Number between 0 and 1!”。

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

视口的索引,左和上视口值为1,右和下视口取值为2。

visibility Boolean

可见性。

Deprecated:
  • Yes

setZIndex(zIndex)

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

Parameters:
Name Type Description
zIndex Number

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