SuperMap.Layer.ClusterLayer

该图层用于将要素以聚散的形式渲染出来。

Inherits from

Summary
SuperMap.Layer.ClusterLayer 该图层用于将要素以聚散的形式渲染出来。
Properties
clusterStyles Array{<Object>} 各级聚散点的样式,可通过修改该属性,修改cluster的分级以及各级的样式。 (注:示例代码中的clusterStyles值是clusterStyles的默认值)
isDiffused {Boolean} 当点击聚散点时,是否允许聚散点可以散开,默认为true,允许聚散点散开。
maxDiffuseAmount {Number} 聚散点最多能散开小点的数目,当点击聚散点的时候,聚散数目小于等于该值的聚散点可以散开,大于该值的聚散点不会散开,默认值为50。
maxLevel {Number} 聚散显示的最大比例尺级数,超过该级后,不再进行聚散,而是直接绘制feature。
renderers {Array(String)} 可支持渲染器的列表,支持的渲染方式有’SVG’, ‘VML’ ,默认值[‘SVG’, ‘VML’]。 如果在可选属性中未设置 ‘renderer’ 选项,则使用当前浏览器支持的此列表中的第一个渲染方式,默认列表为[‘SVG’, ‘VML’]。
tolerance {Number} 聚散的范围,该像素范围内的小点会被聚散成一个大点,默认为60像素。
Constructor
SuperMap.Layer.Vector 创建一个聚散点图层。
Functions
addFeatures 聚散显示features,将需要聚散显示feature传给该方法,便可以实现聚散显示。
assembleFeature 组装散开后的要素,绘制之前会调用该方法,允许用户通过重写该方法自定义要素,通常在复杂要素的情况下使用,比如三叶草对象
cancelDisplayFeatures 与displayFeatures方法相对应,还原该方法所显示的点。
clearCluster 清除当前视图中已经绘制的要素,但是不清空存储,当平移缩放操作时仍然会重绘
destroyCluster 彻底清除所有要素,平移缩放操作时不再重绘
displayFeatures 散开显示指定范围内的要素。
getFeaturesByBounds 获取指定范围内的所有要素。
refresh 刷新图层,清除当前已经绘制的feature,重新进行聚散计算并绘制。

Properties

maxLevel

{Number} 聚散显示的最大比例尺级数,超过该级后,不再进行聚散,而是直接绘制feature。

isDiffused

{Boolean} 当点击聚散点时,是否允许聚散点可以散开,默认为true,允许聚散点散开。

tolerance

{Number} 聚散的范围,该像素范围内的小点会被聚散成一个大点,默认为60像素。

maxDiffuseAmount

{Number} 聚散点最多能散开小点的数目,当点击聚散点的时候,聚散数目小于等于该值的聚散点可以散开,大于该值的聚散点不会散开,默认值为50。

renderers

{Array(String)} 可支持渲染器的列表,支持的渲染方式有’SVG’, ‘VML’ ,默认值[‘SVG’, ‘VML’]。 如果在可选属性中未设置 ‘renderer’ 选项,则使用当前浏览器支持的此列表中的第一个渲染方式,默认列表为[‘SVG’, ‘VML’]。

clusterStyles

Array{<Object>} 各级聚散点的样式,可通过修改该属性,修改cluster的分级以及各级的样式。 (注:示例代码中的clusterStyles值是clusterStyles的默认值)

//创建一个名为“Cluster”的聚散点图层,并修改其clusterStyles属性。
var clusterLayer = new SuperMap.Layer.ClusterLayer("Cluster",{
    clusterStyles:[
        {
            "count":15,//子节点小于等于15的聚散点
            "style":{
                fontColor:"#404040",
                graphic:true,
                externalGraphic:SuperMap.Util.getImagesLocation()+"cluster3.png",
                graphicWidth:37,
                graphicHeight:38,
                labelXOffset:-4,
                labelYOffset:5
            }
        },
        {
            "count":50,//子节点小于等于50大于15的聚散点
            "style":{
                fontColor:"#404040",
                graphic:true,
                externalGraphic:SuperMap.Util.getImagesLocation()+"cluster2.png",
                graphicWidth:41,
                graphicHeight:46,
                labelXOffset:-3,
                labelYOffset:6
            }
        },
        {
            "count":"moreThanMax",// 子节点大于50的聚散点
            "style":{
                fontColor:"#404040",
                graphic:true,
                externalGraphic:SuperMap.Util.getImagesLocation()+"cluster1.png",
                graphicWidth:48,
                graphicHeight:53,
                labelXOffset:-5,
                labelYOffset:8
            }
        }
]});

Constructor

SuperMap.Layer.Vector

创建一个聚散点图层。

//创建一个名为“Cluster Layer”的聚散点图层。
var clusterLayer = new SuperMap.Layer.ClusterLayer("Cluster");

Parameters

name 此图层的图层名 {String}
options {Object} 设置此类上没有默认值的属性。

Returns

{SuperMap.Layer.ClusterLayer} 新的聚散点图层

Functions

addFeatures

addFeatures:function( ps )

聚散显示features,将需要聚散显示feature传给该方法,便可以实现聚散显示。

Parameters

features {Array(<SuperMap.Feature.Vector>)} 需要聚散显示的feature

refresh

refresh:function()

刷新图层,清除当前已经绘制的feature,重新进行聚散计算并绘制。

displayFeatures

displayFeatures:function( bounds )

散开显示指定范围内的要素。

Parameters

bounds {SuperMap.Bounds} 指定的范围,默认值为当前视图范围。

cancelDisplayFeatures

cancelDisplayFeatures:function()

与displayFeatures方法相对应,还原该方法所显示的点。

getFeaturesByBounds

getFeaturesByBounds:function( bounds )

获取指定范围内的所有要素。

Parameters

bounds {SuperMap.bounds} 地理范围

Returns

{Array<SuperMap.Feature.vector>} 要素数组

clearCluster

clearCluster:function( key )

清除当前视图中已经绘制的要素,但是不清空存储,当平移缩放操作时仍然会重绘

destroyCluster

destroyCluster:function()

彻底清除所有要素,平移缩放操作时不再重绘

assembleFeature

assembleFeature:function( feature )

组装散开后的要素,绘制之前会调用该方法,允许用户通过重写该方法自定义要素,通常在复杂要素的情况下使用,比如三叶草对象

//创建一个名为“Cluster”的clusterLayer,并重写assembleFeature方法,重新组装要素
clusterLayer = new SuperMap.Layer.ClusterLayer("Cluster",{"assembleFeature":function(feature){
  var point = feature.geometry;
  var f1 = new SuperMap.Feature.Vector();
  f1.geometry = new SuperMap.Geometry.Point(point.x+10,point.y+10);
  var f2 = new SuperMap.Feature.Vector();
  f2.geometry = new SuperMap.Geometry.Point(point.x-10,point.y-10);
  return [f1,f2];
}});

Parameters

feature{SuperMap.Feature.Vector} 即将绘制的要素

Returns

{Array(SuperMap.Feature.Vector)}修改后的组合要素

addFeatures:function( ps )
聚散显示features,将需要聚散显示feature传给该方法,便可以实现聚散显示。
refresh:function()
刷新图层,清除当前已经绘制的feature,重新进行聚散计算并绘制。
displayFeatures:function( bounds )
散开显示指定范围内的要素。
cancelDisplayFeatures:function()
与displayFeatures方法相对应,还原该方法所显示的点。
getFeaturesByBounds:function( bounds )
获取指定范围内的所有要素。
clearCluster:function( key )
清除当前视图中已经绘制的要素,但是不清空存储,当平移缩放操作时仍然会重绘
destroyCluster:function()
彻底清除所有要素,平移缩放操作时不再重绘
assembleFeature:function( feature )
组装散开后的要素,绘制之前会调用该方法,允许用户通过重写该方法自定义要素,通常在复杂要素的情况下使用,比如三叶草对象
创建一个聚散点图层。
该图层用于将要素以聚散的形式渲染出来。
矢量要素类。该类具有 Geometry 属性存放几何信息, attributes 属性存放非几何信息,另外还包含了 style 属性,用来定义矢量要素的样式, 其中,默认的样式在 SuperMap.Feature.Vector.style 类中定义,如果没有特别的指定将使用默认的样式,
Close