PointClusterLayer(param)

new PointClusterLayer(param)

构造函数

Parameters:
Name Type Description
param Object 参数列表
Properties
Name Type Attributes Default Description
name String <optional>
图层名称
dataSource Array.<GeoJSON> <optional>
数据源 仅支持geojson的点数据
url String <optional>
数据源url 接口通过GET方式请求的结果是geojson点数据的格式 优先级低于dataSource
style PointClusterLayerStyle 聚合图层渲染样式
customRenderer function <optional>
自定义渲染方法
pixelRange Number <optional>
100 扩展屏幕空间边界框的像素范围 单位像素 默认100
minimumClusterSize Number <optional>
2 可以聚合的最小对象个数 默认2。
onChange function <optional>
每次聚合结果改变时会触发该事件 初始化传入时,产生第一次聚合结果时就会触发。如果是创建之后监听,产生第一次聚合结果不会触发onChange事件。
Example
$.ajax({
      type: 'GET',
      url: 'https://www.thingjs.com/uearth/res/beijing-POIs-3211.geojson',
      dataType: 'json',
      success: function (data) {
				var pointClusterLayer = new THING.EARTH.PointClusterLayer({
						dataSource: data, //数据源 geojson格式
						name: 'pointClusterLayer',
						minimumClusterSize:5,  //最小聚合点个数
						style:{
							url:'./uGeo/circle.png', //图标路径
							showNonCluster:true,  //是否显示未聚合的点
							size:3,  // 图标尺寸
							fontColor:[1,0,0],  //字体颜色
							fontSize:50,  //字体大小 在给定图标尺寸的情况下 fontSize越大 字体在图表内所占得尺寸越大
						},
						onChange:function(ev){
							//每次聚合结果改变时会触发该事件
							console.log(ev.data);
						}
				});
				map.addLayer(heatmapLayer);
			}
		});

Extends

Members

id :String

获取/设置 图层ID

Overrides:

readonly loadStatus :LayerLoadStatus

获取图层的加载状态

Overrides:

minimumClusterSize :Number

可以聚合的最小对象个数 默认2。

Default Value:
  • 2

offsetHeight :Number

获取/设置图层离地高度

Overrides:
Default Value:
  • 0

onChange :function

每次聚合结果改变时会触发该事件 初始化传入时,产生第一次聚合结果时就会触发。如果是创建之后监听,产生第一次聚合结果不会触发onChange事件。

pixelRange :Number

扩展屏幕空间边界框的像素范围 单位像素 默认100

Default Value:
  • 100
Example
let layer = new THING.EARTH.PointClusterLayer({
				style:{
					url:'./uGeo/circle.png',
					showNonCluster:true,
					size:3,
					fontColor:[1,0,0],
					fontSize:50
				}
			});
 // @expect(layer.pixelRange == 100)
 layer.pixelRange = 200;
 // @expect(object.pixelRange == 200)

renderClusterMarker :function

Example
layer.renderClusterMarker = function (clusterResult) {
      clusterResult.forEach(c => {
        const coordinates = THING.EARTH.Utils.convertWorldToLonlat(c.position)
        var geoPoint = new THING.EARTH.GeoPoint({
          coordinates,
          offsetHeight: 0.0,
            pivot:[0.5,0.5],
          style: {
            pointType: 'Image',
            url: '../uGeo/circle.png',
            size: 5,
            keepSize: true
          },
          userData: {
            numPoints: c.numPoints, //聚合结果
            ids: c.ids, // id数组
          },
          label: {
            pivot: [0.5, 0.5],
            text: '{{numPoints}}',//聚合结果
            style: {
              fontColor: [1, 0, 0],
              fontSize: 15,
              offset: [0, 0],
              imagePadding: [0, 0],
              dropShadow: false,
              dropShadowColor: [0, 0, 0],
            }
          }
        });
        layer.add(geoPoint);
      });
		}

style :PointClusterLayerStyle

获取/设置聚合图样式

Overrides:
  • Layer#style

visible :Boolean

获取/设置 图层是否可见

Overrides:
Default Value:
  • true

visibleLevel :Array.<Number>

获取/设置图层的可见层级

Overrides:

Methods

destroy() → {Boolean}

销毁图层

Returns:
Boolean
Overrides:

destroyScanning()

移除扫光

Overrides:

hide()

隐藏图层

Overrides:

pauseScanning()

暂停扫光

Overrides:

resumeScanning()

恢复扫光

Overrides:

show()

显示图层

Overrides:

startScanning(params)

开始扫光

Parameters:
Name Type Description
params Object 扫光参数
Properties
Name Type Attributes Description
type THING.EARTH.ScanningType <optional>
扫描类型
mode THING.EARTH.ScanningMode <optional>
扫描模式
angle Number <optional>
扫描角度,默认为0
speed number <optional>
扫描速度,默认为1。
color Array <optional>
扫描颜色,默认为白色。
opacity number <optional>
扫描透明度,默认为1。
blending boolean <optional>
是否启用混合,默认为true。
effect boolean <optional>
是否启用发光,默认为false。
Overrides:

stopScanning()

停止扫光

Overrides:

Events

Destroyed

Overrides:

Load

Overrides:

LoadError

Overrides:

LoadStart

Overrides: