GeoClusterLayer

点聚合图层

new Cesium.GeoClusterLayer(options)

Name Type Description
options Object optional 参数选项:
Name Type Default Description
image String | Image optional 单个点的图标
size Number 16 optional 单个点的图标的大小
clusterImage String | Image optional 聚合时使用的图标
clusterSize Array optional 聚合数量多少与图标大小的值域
clusterColor Array optional 聚合数量多少与图标颜色的值域
pixelRange Number 80 optional 在包围盒基础上增加的外扩范围
minimumClusterSize Number 2 optional 触发聚合时满足的最小的点位数量
location Boolean true optional 是否定位到数据源所在位置
Author:
  • liuhonglei
Example:
let geoClusterLayer = new Cesium.GeoClusterLayer({
     size: 24,
     image: 'camera.png',
     clusterImage: 'cluster.png',
     clusterSize: [
         [1, 36],
         [20, 48],
         [99, 60]
     ],
     clusterColor: [
         [1, 'rgb(0, 140, 255)'],
         [20, 'rgb(255, 0, 242)'],
         [99, 'rgb(255, 0, 0)']
     ],
     pixelRange: 80,
     minimumClusterSize: 2
});
geoClusterLayer.addTo(viewer);
let dataSource = new Cesium.GeoWFSDataSource({
     url: 'wfs_url'
});
geoClusterLayer.setDataSource(dataSource);
dataSource.load();
viewer.on('click', function(e) {
     if(e.originalLayer === geoClusterLayer) {
         // TODO
     }
});
Demo:

Extends

Members

onRenderLeaf : Event

为单个billboard指定图标和大小事件。回调函数有形参两个,第一个参数是当前点数据的feature,第二个参数为包含图标及大小属性的对象,即image,width,height。
Example:
// 渲染叶子节点时的回调
		geoClusterLayer.onRenderLeaf.addEventListener(function (feature, result) {
			// 根据feature数据,自由调整叶子节点的图标 
			if (feature.properties.CameraCode.indexOf('52030')>-1) {
				result.image = '/geomap-api/JsCesuimDemo/resource/images/firesymbol.png';
				result.width = 64;
				result.height = 64;
			}
		});

Methods

addTo(map)

绑定到三维地图
Name Type Description
map viewer
Inherited From:

destroy()

销毁图层对象

getData()

获取图层数据
Inherited From:

getDataSource()

获取数据源
Inherited From:

hide()

隐藏图层

locate()

定位到数据源所在位置

pickFeatures(pickedFeatures, windowPosition)Object

拾取要素
Name Type Description
pickedFeatures Array 场景中被拾取的对象集合,需要在图层自己内部判断识别出属于自己的,并挂接上图层的属性信息
windowPosition Cartesian2 画布的二维坐标
Returns:
返回固定形态的结构数据
Example:
//返回结构参考样例
{
     eventType: ScreenSpaceEventType.LEFT_CLICK,
     originalLayer: geoClusterLayer,
     feature: feature
}

remove()

将图层从视图中移除

removeDataSource()

移除数据源
Inherited From:

render()

渲染图层

setData(data)

设置图层的数据
Name Type Description
data Array 点要素集合

setDataSource(dataSource)

设置图层数据源
Name Type Description
dataSource GeoDataSource

show()

显示图层