# 拉伸图层(Extrusion)
拉伸图层用于将面类型的数据在垂直方向上将面向天空进行拉伸,三维的拉伸图层支持二维模式下的部分功能。
new aimap.Extrusion(layerOptions: Object)
# 初始化参数
# LayerOptions参数说明
字段名 | 类型 | 说明 |
---|---|---|
id | string | 默认值为${type}.${uuid} ,该值不允许重复。 |
map | Map | 地图对象,如果设置,该图层会自动加载到地图中,如果未设置,需要手动加载图层:addTo(map) 。 |
mode | string | 三维图层的mode 是3d 。 |
minZoom | number | 能显示的最小的zoom level,默认 3。 |
maxZoom | number | 能显示的最大的zoom level(但不包括这个Level),默认20。 |
spatialReference | string | 图层数据的坐标系统,默认:gcj02 。可选项分别为:- GPS坐标系— wgs84 - 火星/高德坐标系— gcj02 - 百度坐标系— bd09 - 城建坐标系— cgcs2000 。 |
data必须 | Data | 支持面类型的矢量数据,包括SimpleFeature ,GeoJSON 等,具体参见:矢量数据定义。 |
style必须 | Style | 本图层支持与线相关的样式配置,包括:extrusion-color , extrusion-opacity , extrusion-base , extrusion-height 。 |
filter | Filter | 图层数据的过滤条件,不满足过滤条件的数据将不显示。具体参见:Filter 配置。 |
# 示例
const layer = new aimap.Extrusion({
mode: '3d',
data: [{
coordinates: [[[121.1, 31.2], [121.1, 31.3], [121.2, 31.3], [121.2, 31.2], [121.1, 31.2]]]
}, {
coordinates: [[[121.1, 31.2], [121.1, 31.3], [121.0, 31.3], [121.0, 31.2], [121.1, 31.2]]]
}],
style: {
'extrusion-color': 'white',
'extrusion-opacity': 1,
'extrusion-height': 100,
'extrusion-base': 0,
},
map
});
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 实例变量
# id
此图层的 id,如果在初始化图层的参数中指定,则为参数中的 id,否则 SDK 内部会自动生成一个 id。
# 示例
var extrusion = new aimap.Extrusion({...});
console.log(extrusion.id); // "extrusion.9db79b01-f3c0-4da6-a36a-b4d5827c4e37"
2
# type
此图层的类型,对于本图层, type
为固定值:extrusion
。
# 示例
var extrusion = new aimap.Extrusion({...});
console.log(extrusion.type); // "extrusion"
2
# 实例方法
addTo(map)
如果在初始化图层时,没有传入地图对象参数,则需要使用此方法来将图层添加到地图上。
参数
map(Map)
:需要添加本图层的地图对象。
返回值
Extrusion
:this
remove()
将本图层从地图中移除,并销毁相关的资源。
返回值
Extrusion
:this
show()
显示该图层。
返回值
Extrusion
:this
hide()
隐藏该图层。
返回值
Extrusion
:this
flyTo(options?)
使地图带有动画的跳转,使得图层的中心点位于屏幕中间。
参数
options(SetFocusOptions)
:跳转动画的更多参数,具体参见:SetFocusOptions 配置。
返回值
Extrusion
:this
fitView(options?)
使地图带有动画的跳转,使得图层的数据铺满屏幕。
参数
options(SetFocusOptions)
:跳转动画的更多参数,具体参见:SetFocusOptions 配置。
返回值
Extrusion
:this
setZoomRange(minZoom, maxZoom)
设置图层的缩放层级范围。
参数
minZoom(number)
:最小可显示该图层的缩放级别。
maxZoom(number)
:最大可显示该图层的缩放级别。
返回值
Extrusion
:this
setStyle(style, options?)
增量更新图层的样式。
参数
style(style)
:样式对象,这些样式将增量更新到图层已有的样式上,支持的样式与当前图层一致。
options(SetStyleOptions)
:设置新样式的其他配置项,具体参见:SetStyleOptions 配置。
返回值
Extrusion
:this
setData(data, options?)
重新指定数据,原有的数据会被清除掉。
参数
data(Data)
:与 layeroptions参数说明 中的Data
字段定义一致。
options(SetDataOptions)
:指定新数据源的其他配置项,具体参见:SetDataOptions 配置。
返回值
Extrusion
:this
setFilter(filter, options?)
为图层的数据设置过滤条件,不满足过滤条件的数据将会被隐藏。
参数
filter(Filter)
:图层数据的过滤条件,不满足过滤条件的数据将不显示。具体参见:Filter 配置
options(SetFilterOptions)
:进行过滤操作的其他配置项,具体参见:SetFilterOptions 配置。
返回值
Extrusion
:this
on(type, listener)
为图层绑定事件监听。
参数
type(string)
:事件类型,支持的事件类型可参考 图层事件。
listener(Function)
:如果此处使用匿名函数,则后续将无法解绑。
返回值
Extrusion
:this
once(type, listener)
为图层绑定事件监听,事件只会响应一次。
参数
type(string)
:事件类型,支持的事件类型可参考 图层事件。
listener(Function)
:如果此处使用匿名函数,则后续将无法解绑。
返回值
Extrusion
:this
off(type, listener)
解除已绑定事件监听。
参数
type(string)
:事件类型,支持的事件类型可参考 图层事件。
listener(Function)
:通过 on
或者 once
绑定的事件对象。
返回值
Extrusion
:this
# 图层事件
click
当鼠标在图层同一点处点击并松开时触发。
mousemove
当鼠标在图层中移动时触发。
mouseenter
当鼠标从某一图层外部或地图画布外部进入当前图层的可见部分时触发。
mouseleave
当鼠标离开当前图层的可见部分时触发。