该图层用于将要素以聚散的形式渲染出来。
SuperMap. |
该图层用于将要素以聚散的形式渲染出来。 |
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. |
创建一个聚散点图层。 |
Functions | |
addFeatures | 聚散显示features,将需要聚散显示feature传给该方法,便可以实现聚散显示。 |
assembleFeature | 组装散开后的要素,绘制之前会调用该方法,允许用户通过重写该方法自定义要素,通常在复杂要素的情况下使用,比如三叶草对象 |
cancelDisplayFeatures | 与displayFeatures方法相对应,还原该方法所显示的点。 |
clearCluster | 清除当前视图中已经绘制的要素,但是不清空存储,当平移缩放操作时仍然会重绘 |
destroyCluster | 彻底清除所有要素,平移缩放操作时不再重绘 |
displayFeatures | 散开显示指定范围内的要素。 |
getFeaturesByBounds | 获取指定范围内的所有要素。 |
refresh | 刷新图层,清除当前已经绘制的feature,重新进行聚散计算并绘制。 |
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 } } ]});
创建一个聚散点图层。
//创建一个名为“Cluster Layer”的聚散点图层。 var clusterLayer = new SuperMap.Layer.ClusterLayer("Cluster");
name | 此图层的图层名 {String} |
options | {Object} 设置此类上没有默认值的属性。 |
{SuperMap.Layer.ClusterLayer} 新的聚散点图层
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]; }});
feature{SuperMap.Feature.Vector} 即将绘制的要素
{Array(SuperMap.Feature.Vector)}修改后的组合要素
聚散显示features,将需要聚散显示feature传给该方法,便可以实现聚散显示。
addFeatures:function( ps )
刷新图层,清除当前已经绘制的feature,重新进行聚散计算并绘制。
refresh:function()
散开显示指定范围内的要素。
displayFeatures:function( bounds )
与displayFeatures方法相对应,还原该方法所显示的点。
cancelDisplayFeatures:function()
获取指定范围内的所有要素。
getFeaturesByBounds:function( bounds )
清除当前视图中已经绘制的要素,但是不清空存储,当平移缩放操作时仍然会重绘
clearCluster:function( key )
彻底清除所有要素,平移缩放操作时不再重绘
destroyCluster:function()
组装散开后的要素,绘制之前会调用该方法,允许用户通过重写该方法自定义要素,通常在复杂要素的情况下使用,比如三叶草对象
assembleFeature:function( feature )