# 柱状图层(Column3DLayer)

柱状图层用于将点类型的数据以立柱的形式呈现,每一条数据对应一个立柱。

提示

聚合热力图层与柱状图层都是以柱状的形式展示数据,区别在于:聚合热力图层会按照自动生成的几何对数据进行汇总聚合,而柱状图层严格按照数据进行展示。

例如:

  • 对一份全国各个省份的GDP数据,使用柱状图层进行展示,因为数据已经按照省份区划聚合好了。
  • 对一份浦东新区的人流热力数据,使用聚合热力图层进行展示,否则每个热力点显示一个棱柱,没有实际意义。
new aimap.Column3DLayer(layerOptions: Object)
1

# 初始化参数

# LayerOptions参数说明

字段名 类型 说明
id string 默认值为${type}.${uuid},该值不允许重复。
map Map 地图对象,如果设置,该图层会自动加载到地图中,如果未设置,需要手动加载图层:addTo(map)
data必须 Data 支持点类型的矢量数据,包括SimpleFeatureGeoJSON等,具体参见:矢量数据定义
style必须 Grid3DStyle 本图层支持样式参考下方说明。
animate AnimateOptions 图层首次加载,以及每次重新指定数据时,图层展示的动画效果配置。

# Grid3DStyle

字段名 类型 说明
diskResolution number 每个立柱的顶面与底面的边数,边数越高,越圆滑,性能占用也越高。
radius number 每个格子的大小,单位米,默认值:1000。
angle number 每个立柱沿顺时针旋转的角度。
offset [number, number] 每个立柱相对于原始位置的偏移值,默认值:[0, 0]。
opacity number 图层整体的透明度,默认值:1。
coverage number 每个立柱的缩放比例,默认为 1。
elevationScale number 拔高的缩放比例,默认为 1。
filled boolean 绘制的立柱是否是实心的,默认为 true
stroked boolean 是否绘制立柱的外轮廓线,默认为 false,当extrudedfalse时生效。
extruded boolean 是否拔高,true 或者 false,默认为 true。不拔高则为二维的圆点。
radiusUnits string 立柱的半径单位,可选:
- meters:米
- pixels:像素
默认为:meters
lineWidthUnits string 外轮廓线的宽度单位,可选:
- meters:米
- pixels:像素
默认为:meters
lineWidthScale boolean 外轮廓线宽度的缩放比例,默认为 1。当strokedtrue时生效。
lineWidthMinPixels number 外轮廓线宽度的最小值,默认为 0。
lineWidthMaxPixels number 外轮廓线宽度的最大值,默认为 Number.MAX_SAFE_INTEGER

# AnimateOptions

字段名 类型 说明
duration number 动画的时长,单位:毫秒,默认为 2000。
type growup2downdown2upright2leftleft2rightripple 动画的类型,可选:
- grow:从地面向天空的生长效果
- up2down:从北向南的过渡效果
- down2up: 从南向北的过渡效果
- right2left:从东向西的过渡效果
- left2right:从西向东的过渡效果
- ripple:从中心向四周的扩散效果
默认为grow
center [number, number] 当动画的typeripple时,可以为扩散效果指定经纬度中心点,不指定则采用数据的 bbox 的中心点。

# 示例

coverLayer = new aimap.Column3DLayer({
    data: `path-to-a-points-geojson-data/data.geojson`,
    style: {
        radius: 20,
        elevationScale: 10,
        coverage: 1,
        getFillColor: d => [48, 128, d.properties.tourists * 3],
        getElevation: d => d.properties.tourists,
    },
    animate: {
        duration: 5000,
        type: 'grow'
    },
    map
});
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

# 实例变量

# id

此图层的 id,如果在初始化图层的参数中指定,则为参数中的 id,否则 SDK 内部会自动生成一个 id。

# 示例

var column3DLayer = new aimap.Column3DLayer({...});
console.log(column3DLayer.id); // "column3d.9db79b01-f3c0-4da6-a36a-b4d5827c4e37"
1
2

# type

此图层的类型,对于本图层, type 为固定值:column3d

# 示例

var column3DLayer = new aimap.Column3DLayer({...});
console.log(column3DLayer.type); // "column3d"
1
2

# 实例方法

addTo(map)

如果在初始化图层时,没有传入地图对象参数,则需要使用此方法来将图层添加到地图上。

参数

map(Map):需要添加本图层的地图对象。

返回值

Column3DLayer:this

remove()

将本图层从地图中移除,并销毁相关的资源。

show()

显示该图层。

返回值

Column3DLayer:this

hide()

隐藏该图层。

返回值

Column3DLayer:this

flyTo(options?)

使地图带有动画的跳转,使得图层的中心点位于屏幕中间。

参数

options(SetFocusOptions):跳转动画的更多参数,具体参见:SetFocusOptions 配置

返回值

Column3DLayer:this

fitView(options?)

使地图带有动画的跳转,使得图层的数据铺满屏幕。

参数

options(SetFocusOptions):跳转动画的更多参数,具体参见:SetFocusOptions 配置

返回值

Column3DLayer:this

setStyle(style)

增量更新图层的样式。

参数

style(Grid3DStyle):样式对象,这些样式将增量更新到图层已有的样式上,支持的样式与当前图层一致。

返回值

Column3DLayer:this

setData(data, options?)

重新指定数据,原有的数据会被清除掉。

参数

data(Data):与 layeroptions参数说明 中的Data字段定义一致。

options(options):指定新数据源的其他配置项,支持在 options 中配置 animate 参数。

返回值

Column3DLayer:this

最后更新于: 7/22/2022, 5:39:57 PM