# 柱状图层(Column3DLayer)
柱状图层用于将点类型的数据以立柱的形式呈现,每一条数据对应一个立柱。
提示
聚合热力图层与柱状图层都是以柱状的形式展示数据,区别在于:聚合热力图层会按照自动生成的几何对数据进行汇总聚合,而柱状图层严格按照数据进行展示。
例如:
- 对一份全国各个省份的GDP数据,使用柱状图层进行展示,因为数据已经按照省份区划聚合好了。
- 对一份浦东新区的人流热力数据,使用聚合热力图层进行展示,否则每个热力点显示一个棱柱,没有实际意义。
new aimap.Column3DLayer(layerOptions: Object)
# 初始化参数
# LayerOptions参数说明
字段名 | 类型 | 说明 |
---|---|---|
id | string | 默认值为${type}.${uuid} ,该值不允许重复。 |
map | Map | 地图对象,如果设置,该图层会自动加载到地图中,如果未设置,需要手动加载图层:addTo(map) 。 |
data必须 | Data | 支持点类型的矢量数据,包括SimpleFeature ,GeoJSON 等,具体参见:矢量数据定义。 |
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 ,当extruded 为false 时生效。 |
extruded | boolean | 是否拔高,true 或者 false ,默认为 true 。不拔高则为二维的圆点。 |
radiusUnits | string | 立柱的半径单位,可选: - meters :米- pixels :像素默认为: meters 。 |
lineWidthUnits | string | 外轮廓线的宽度单位,可选: - meters :米- pixels :像素默认为: meters 。 |
lineWidthScale | boolean | 外轮廓线宽度的缩放比例,默认为 1。当stroked 为true 时生效。 |
lineWidthMinPixels | number | 外轮廓线宽度的最小值,默认为 0。 |
lineWidthMaxPixels | number | 外轮廓线宽度的最大值,默认为 Number.MAX_SAFE_INTEGER 。 |
# AnimateOptions
字段名 | 类型 | 说明 |
---|---|---|
duration | number | 动画的时长,单位:毫秒,默认为 2000。 |
type | grow ,up2down ,down2up ,right2left ,left2right 或 ripple | 动画的类型,可选: - grow :从地面向天空的生长效果- up2down :从北向南的过渡效果- down2up : 从南向北的过渡效果- right2left :从东向西的过渡效果- left2right :从西向东的过渡效果- ripple :从中心向四周的扩散效果默认为 grow 。 |
center | [number, number] | 当动画的type 为ripple 时,可以为扩散效果指定经纬度中心点,不指定则采用数据的 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
});
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"
2
# type
此图层的类型,对于本图层, type
为固定值:column3d
。
# 示例
var column3DLayer = new aimap.Column3DLayer({...});
console.log(column3DLayer.type); // "column3d"
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