当前位置: 首页 > news >正文

openlayer根据不同的状态显示不同的图层颜色

根据不同的状态governanceType显示不同的颜色
数据格式
在这里插入图片描述
首先清楚别的图层
this.removeLayer();

 // 创建一个映射,将governanceType映射到颜色const colorMapping1 = {'18': 'rgba(126, 97, 18, 0.5)',  // 假设治理类型1对应颜色选项0'19': 'rgba(160, 133, 254, 0.5)',  // 假设治理类型2对应颜色选项1'15': 'rgba(55, 43, 65, 0.5)',  // 假设治理类型3对应颜色选项2'20': 'rgba(178, 111, 173, 0.5)',  // 假设治理类型3对应颜色选项2'1': 'rgba(150, 209, 16, 0.5)',  // 假设治理类型4对应颜色选项3'3': 'rgba(49, 77, 92, 0.5)',  // 假设治理类型5对应颜色选项4'14': 'rgba(248, 49, 176, 0.5)',  // 假设治理类型6对应颜色选项5'16': 'rgba(141, 13, 63, 0.5)',  // 假设治理类型7对应颜色选项6'17': 'rgba(6, 206, 10, 0.5)',  // 假设治理类型7对应颜色选项6'2': 'rgba(37, 189, 131, 0.5)',  // 假设治理类型7对应颜色选项6// 其他治理类型映射};const colorMapping = {'18': 'rgba(126, 97, 18, 1)',  // 假设治理类型1对应颜色选项0'19': 'rgba(160, 133, 254, 1)',  // 假设治理类型2对应颜色选项1'15': 'rgba(55, 43, 65, 1)',  // 假设治理类型3对应颜色选项2'20': 'rgba(178, 111, 173, 1)',  // 假设治理类型3对应颜色选项2'1': 'rgba(150, 209, 16, 1)',  // 假设治理类型4对应颜色选项3'3': 'rgba(49, 77, 92, 1)',  // 假设治理类型5对应颜色选项4'14': 'rgba(248, 49, 176, 1)',  // 假设治理类型6对应颜色选项5'16': 'rgba(141, 13, 63, 1)',  // 假设治理类型7对应颜色选项6'17': 'rgba(6, 206, 10, 1)',  // 假设治理类型7对应颜色选项6'2': 'rgba(37, 189, 131, 1)',  // 假设治理类型7对应颜色选项6// 其他治理类型映射};// 已通过图层this.vectorLayer = new VectorLayer({source: new VectorSource({features: [], // 初始化features数组}),style: (feature) => {const governanceType = feature.get('governanceType'); //通过get方法获取feature里面governanceTyped属性值console.log(governanceType,'governanceType')return new Style({fill: new Fill({color: colorMapping1[governanceType] || this.drawColorOptions[2].fill, // 默认颜色}),stroke: new Stroke({color: colorMapping[governanceType],//  color: this.drawColorOptions[2].stroke,width: 2,}),});},visible: true,zIndex: 999,});let data = {type: "FeatureCollection",features: list.filter((item) => item.operationState === 1).map((item) => {return {type: "Feature",geometry: item.pondGeomJson,properties: {governanceType: item.governanceType, // 确保governanceType在properties中},};}),};console.log(data,'data')let features = new GeoJSON().readFeatures(data);this.vectorLayer.getSource().addFeatures(features);this.map.addLayer(this.vectorLayer);

在这里插入图片描述

http://www.dtcms.com/a/302589.html

相关文章:

  • Java项目接口权限校验的灵活实现
  • AI学习之Cursor项目实战
  • ICPC 2024 网络赛(I)
  • 【大模型LLM】梯度累积(Gradient Accumulation)原理详解
  • linux I2C设备AW2013驱动示例
  • rhel网卡配置文件、网络常用命令、网卡名称优化和模拟不同网络区域通信
  • 服务器中的防火墙设置需要打开吗
  • 服务器查日志太慢,试试grep组合拳
  • 利用frp实现内网穿透功能(服务器)Linux、(内网)Windows
  • CentOS7 安装和配置教程
  • RF随机森林分类预测+特征贡献SHAP分析,通过特征贡献分析增强模型透明度,Matlab代码实现,引入SHAP方法打破黑箱限制,提供全局及局部双重解释视角
  • 论文:M矩阵
  • 高可用集群Keepalived、Redis、NoSQL数据库Redis基础管理
  • 常用设计模式系列(十四)—模板方法模式
  • 在 CentOS 上安装 FFmpeg
  • 行业案例:杰和科技为智慧教育构建数字化硬件底座
  • UML类图--基于大话设计模式
  • 【设计模式】状态模式 (状态对象(Objects for States))
  • NBIOT模块 BC28通过MQTT协议连接到电信云
  • Google Chrome V8< 13.7.120 沙箱绕过漏洞
  • 设计模式(二十三)行为型:模板方法模式详解
  • 从 “看天吃饭” 到 “精准可控”:边缘计算网关如何引爆智慧农业种植变革?
  • 新手向:破解VMware迁移难题
  • 解放io_uring编程:liburing实战指南与经典cat示例解析
  • Unity_UI_NGUI_组合控件2
  • Rust实战:AI与机器学习自动炒饭机器学习
  • puppeteer 系列模块的系统性、详细讲解
  • Ubuntu系统完整配置教程
  • InfluxDB 与 HTTP 协议交互进阶(一)
  • 设计模式实战:自定义SpringIOC(理论分析)