# 柱状图层(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