当前位置: 首页 > 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.lryc.cn/news/602259.html

相关文章:

  • Fortran实现 3维反距离加权(IDW)插值算法
  • 初识 docker [下] 项目部署
  • ETH 交易流程深度技术详解
  • 二、Linux文本处理与文件操作核心命令
  • 从0开始学习R语言--Day60--EM插补法
  • git stash apply 冲突合并方法解决
  • Kafka 3.9.1的KRaft模式部署
  • linux系统----Ansible中的playbook简单应用
  • 从零开始的云计算生活——第三十七天,跬步千里,ansible之playbook
  • 【Blender小技巧】Blender使用多边形建形工具创建多边形模型,挤出面,模型创建修改编辑UV贴图
  • 【第四章:大模型(LLM)】01.神经网络中的 NLP-(2)Seq2Seq 原理及代码解析
  • 从0到500账号管理:亚矩阵云手机多开组队与虚拟定位实战指南
  • 【归并排序】排序数组(medium)
  • Rust/Tauri 优秀开源项目推荐
  • C/C++ 调用lua脚本,lua脚本调用另一个lua脚本
  • 最新的前端技术和趋势(2025)
  • Maven中的bom和父依赖
  • Nginx HTTP 反向代理负载均衡实验
  • YOLO11 改进、魔改|低分辨率自注意力机制LRSA ,提取全局上下文建模与局部细节,提升小目标、密集小目标的检测能力
  • 免费 SSL 证书申请简明教程,让网站实现 HTTPS 访问
  • ADAS测试:如何用自动化手段提升VV效率
  • 【CDA干货】金融超市电商App经营数据分析案例
  • unbuntn 22.04 coreutils文件系统故障
  • GaussDB as的用法
  • 亚马逊广告关键词优化:如何精准定位目标客户
  • MyBatis中#{}与${}的实战避坑指南
  • 性能测试-技术指标的含义和计算
  • Leetcode_242.有效的字母异位词
  • Apache Commons VFS:Java内存虚拟文件系统,屏蔽不同IO细节
  • python入门篇12-虚拟环境conda的安装与使用