图层管理 map-control-layers
2026年7月20日大约 4 分钟
图层管理 map-control-layers
管理数据图层与数据源的控件。
- 类型串:
map-control-layers默认尺寸:[264, 356]分类:地图控件
实时预览
下面渲染的是真实组件(与编辑器 / 运行时同源)。修改右侧「样式参数」,左侧预览实时更新;点击底部「全页面查看」可放大。
右侧地图挂了「干管折线 + 泵站圆点」两个图层与两个 GeoJSON 数据源,面板里即出现真实清单:点眼睛切显隐、用箭头调整图层叠放次序(
layers-allow-reorder),点选某个图层还能在侧面板直接改其样式属性(layers-allow-edit,此处props-scope: style只放出样式项,宽度 232px)。
属性
下表为本组件特有的属性;
position/size/opacity/background/border/ 联动选中 / 筛选等通用参数见组件手册总览。
basic
| 属性 | 名称 | 类型 | 默认 | 说明 |
|---|---|---|---|---|
target-map | 关联地图 | element(types=map-2d) | [] | |
layers-title | 标题 | string | 数据图层 | |
layers-show-sources | 显示数据源区 | boolean | true | |
layers-allow-edit | 允许属性编辑 | boolean | true | |
layers-allow-reorder | 允许调整图层层级 | boolean | true |
props
| 属性 | 名称 | 类型 | 默认 | 说明 |
|---|---|---|---|---|
props-scope | 属性范围 | select(radioGroup) | style+data | 可选:style / style+data |
props-panel-side | 面板位置 | select(radioGroup) | auto | 可选:auto / right / left |
props-panel-width | 面板宽度 | number(unit=px,min=180,max=520) | 260 | |
props-search | 显示搜索框 | boolean | true |
appearance
| 属性 | 名称 | 类型 | 默认 | 说明 |
|---|---|---|---|---|
panel-bg | 面板背景 | color | rgba(9,18,34,0.62) | |
panel-color | 文字色 | color | #eaf2ff | |
item-hover-bg | 行悬浮背景 | color | rgba(54,224,255,0.12) | |
panel-border-color | 边框色 | color | rgba(125,205,255,0.24) | |
panel-radius | 圆角 | number(unit=px,min=0) | 10 | |
panel-font-size | 字号 | number(unit=px,min=8) | 12 | |
accent | 主题色 | color | #36e0ff |
数据绑定
无组件特有数据绑定字段(纯样式 / 布局 / 装饰)。
事件
触发器
触发器在预览 / 播放态生效(编辑态点击 = 选中组件)。写在本组件
options.interactions的groups[].trigger里。
| 触发器 | 名称 | 触发时机 | payload(供动作公式 {:字段} 取值) |
|---|---|---|---|
click | 点击 | 点击本组件时触发 | 无 |
mouseEnter | 鼠标移入 | 指针移入组件时触发 | 无 |
mouseLeave | 鼠标移出 | 指针移出组件时触发 | 无 |
appear | 入场 | 组件出现时触发(配合进场动画) | 无 |
disappear | 离场 | 组件消失时触发(配合退场动画) | 无 |
receiveBehaviorEvent | 接收行为事件 | 收到 sendBehaviorEvent 动作或宿主 ctx.emit 投递的事件时触发(按 eventName 匹配) | 发送方携带的 data |
动作
触发器命中后执行的动作。本组件既可发起动作(配在自己的交互里),也可作为其它组件动作的目标。
| 动作 | 名称 | 说明 |
|---|---|---|
changeOption | 修改设置 | 把本组件(或其它组件)的某个属性改为静态值 / 公式动态值 |
switchState | 切换状态 | 切到多状态里的某个状态(state:"" 回默认态) |
appear / disappear | 进 / 退场动画 | 对目标 opacity 做 0↔100 插值的显隐动画 |
完整动作清单(switchScreen / switchWindow / openUrl / sendBehaviorEvent / transfer / executeScript / requestApi 等)与持久化写法见事件交互。
示例
{
"type": "map-control-layers",
"uid": "w_map_control_layers",
"options": {
"position": [40, 40],
"size": [264, 356]
}
}