layer~ClusterLayer(name, options)

聚合图层,负责矢量点要素的聚合。支持10万个要素的快速聚合

Summary

Methods:
addFeature

添加要聚合的原始数据。注:当前版本中仅支持添加点要素,对点状要素进行聚合运算。

addFeatures

添加多个要聚合的原始数据。注:当前版本中仅支持添加点要素,对点状要素进行聚合运算。

destroy

销毁图层对象

getAllFeatures

返回该图层所有的聚合要素

getClusterFeaturesByFid

通过聚合之后要素的id获取被聚合的所有要素。

getDataExtent

计算图层所有数据的地理边界,即这个边界范围内,包含该图层的所有要素,区别于图层的全球地理范围。

getLayerType

获取图层的类型

getLayerZIndex

返回图层的zIndex值。

getMap

获取当前图层所在的地图。

getName

获取图层名称。

getOpacity

获取图层透明度。

getVisibility

获取图层的可见性。

offMap

解除图层与地图的关联,即从图层去掉与地图对象有关的信息,同时在地图对象去掉与该图层有关的信息。关联解除后,图层依然存在,但与地图不再有关系。
如果图层本身并未加载到地图上,那么该方法没有任何效果。

removeAllFeatures

删除所有地理要素。

removeFeature

删除单个地理要素。

setLayerZIndex

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

setName

设置图层名称。

setOpacity

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

setVisibility

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

Constructor

new ClusterLayer(name, options)

Parameters:
Name Type Description
name String

图层名称

options Object

可选项,给出的属性都将被绑定到该图层对象上。

Name Type Description
gridSize Number

聚合计算时网格的大小,单位为像素,默认值为256。

clusterStyle module:style~Style

聚合点的样式

clusterOne Boolean

单点是否聚合,默认值为false,即单点时不聚合,显示单点自身的样式,若为true表示单点可聚合,显示聚合的样式。

disableClusteringAtZoom Number

表示大于或者等于该级别不再聚合,全部以要素自身的样式显示,默认17。

showText Boolean

单点聚合时是否显示文字,默认false

styleCallBack function

生成自定义样式的回调,根据聚合点的数量决定样式,接受的参数为聚合点的数量 egg:function(num){}

Example
let options = {
 clusterOne: true,  //在地图没有达到disableClusteringAtZoom时,单点也是以聚合的样式展示
 clusterStyle: clusterStyle, //聚合的样式
 disableClusteringAtZoom: 18 //地图达到18级之后就不再聚合
};
let custerLayer = new ClusterLayer("聚合图层",options);

Methods

addFeature(feature)

添加要聚合的原始数据。注:当前版本中仅支持添加点要素,对点状要素进行聚合运算。

Parameters:
Name Type Description
feature module:feature~Vector

要聚合的要素

addFeatures(features)

添加多个要聚合的原始数据。注:当前版本中仅支持添加点要素,对点状要素进行聚合运算。

Parameters:
Name Type Description
features Array.<module:feature~Vector>

要聚合的要素数组

destroy()

销毁图层对象

getAllFeatures() → {Array.<module:feature~Vector>}

返回该图层所有的聚合要素

Returns:
Array.<module:feature~Vector> -

添加到该图层所有的要素

Example
let result = vectorLayer.getAllFeatures();

getClusterFeaturesByFid(fid) → {Array.<module:feature~Vector>}

通过聚合之后要素的id获取被聚合的所有要素。

Parameters:
Name Type Description
fid String

聚合点要素的id

Returns:
Array.<module:feature~Vector> -

通过聚合之后要素的id获取被聚合的所有要素。

getDataExtent() → {module:basetype~Extent}

计算图层所有数据的地理边界,即这个边界范围内,包含该图层的所有要素,区别于图层的全球地理范围。

Returns:
module:basetype~Extent -

能包含所有要素的一个地理边界

Example
let dataExtent = clusterLayer.getDataExtent();

getLayerType() → {String}

获取图层的类型

Returns:
String -

图层类型

getLayerZIndex() → {Number}

返回图层的zIndex值。

Returns:
Number -

图层的zIndex

getMap() → {module:Map}

获取当前图层所在的地图。

Returns:
module:Map -

图层所属的地图对象

getName() → {String}

获取图层名称。

Returns:
String -

图层名称

getOpacity() → {Number}

获取图层透明度。

Returns:
Number -

透明度

getVisibility() → {Boolean}

获取图层的可见性。

Returns:
Boolean -

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

offMap()

解除图层与地图的关联,即从图层去掉与地图对象有关的信息,同时在地图对象去掉与该图层有关的信息。关联解除后,图层依然存在,但与地图不再有关系。
如果图层本身并未加载到地图上,那么该方法没有任何效果。

removeAllFeatures()

删除所有地理要素。

removeFeature(feature)

删除单个地理要素。

Parameters:
Name Type Description
feature module:feature~Vector

要删除的地理要素

setLayerZIndex(zIndex)

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

Parameters:
Name Type Description
zIndex Number

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

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之间的数字时,抛出异常。

setVisibility(visible)

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

Parameters:
Name Type Default Description
visible Boolean true

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

Throws:
TypeError -

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