openLayers中实现面要素立体化效果

  • 一、面要素立体化的效果实现方法
  • 二、实现过程及效果展示
  • 三、总结

**

一、面要素立体化的效果实现方法

**
对于面要素,想要实现立体效果,之前写了一篇博客,添加阴影来实现立体化,但是可能在很多情况下,更加想要的是可以多面要素的边框进行不同颜色,不同线宽的样式设置,从而达到立体化的效果。此次所写的博客中正是利用了此种方式来实现立体化效果。

二、实现过程及效果展示

利用openLayers添加一个面要素到图层中

//添加中国地图图层var chinaLayer = new ol.layer.Vector({source:new ol.source.Vector({}),visible:true,style:new ol.style.Style({stroke:new ol.style.Stroke({lineDash:[1,2,3,4,5,6],lineDashOffset:10,color:'black',width:2})})});map.addLayer(chinaLayer);//数据路径var urlC = '../data/china.geojson';//读取本地数据const promise = new Promise(function (resolve, reject) {//执行异步操作$.ajax({url: urlC,type: 'get',success: function (response) {if (response) {resolve(response);}}})})//请求成功之后处理的事件promise.then(response => {var features = (new ol.format.GeoJSON({featureProjection: 'EPSG:3857'})).readFeatures(response);var f = features[0];chinaLayer.getSource().addFeature(f);})

效果图:

利用面要素的边框不同颜色,线宽的样式设置实现立体化

  //innervar innerLayer= new ol.layer.Vector({source: new ol.source.Vector({}),style: new ol.style.Style({ stroke:new ol.style.Stroke({width:15,color:'rgba(170,170,170,0.8)'}),fill:new ol.style.Fill({color:'rgba(255,0,0,0)'})}),zIndex:2});map.addLayer(innerLayer);//outervar outerLayer = new ol.layer.Vector({source: new ol.source.Vector({}),style: new ol.style.Style({ stroke:new ol.style.Stroke({width:30,color:'rgba(170,170,170,0.4)'}),fill:new ol.style.Fill({color:'rgba(255,0,0,0)'})}),zIndex:2});map.addLayer(outerLayer);

再将面要素添加到两个图层中,设置zIndex层级比原图低一些。实现的效果图如下:

三、总结

本次博客又提供了一种在openLayer中实现面要素的立体化,这也可能是很多在开发中会遇到的问题,希望可以帮助到更多的小伙伴。

openLayers中实现面要素立体化效果相关推荐

  1. 开源GIS(七)——openlayers中单击获取要素(深度好文)

    目录 一.引言 二.前台方法 1.interaction中select方法 2.map中forEachFeatureAtPixel方法 三.gis server方法 1.wms中getfeaturei ...

  2. Openlayers中使用Overlay实现点击要素显示html内容弹窗并且动态更改弹窗内容

    场景 Openlayers中使用Overlay实现点击要素弹窗并且弹窗随之移动: Openlayers中使用Overlay实现点击要素弹窗并且弹窗随之移动_BADAO_LIUMANG_QIZHI的博客 ...

  3. Openlayers中使用Overlay实现点击要素弹窗并且弹窗随之移动

    场景 Vue+Openlayer使用overlay实现弹窗弹出显示与关闭: Vue+Openlayer使用overlay实现弹窗弹出显示与关闭_BADAO_LIUMANG_QIZHI的博客-CSDN博 ...

  4. Openlayers中使用Cluster+Overlay实现点击单个要素和聚合要素时显示不同弹窗

    场景 Openlayers中使用Cluster实现缩放地图时图层聚合与取消聚合: Openlayers中使用Cluster实现缩放地图时图层聚合与取消聚合_BADAO_LIUMANG_QIZHI的博客 ...

  5. Leaflet中使用Leaflet.Pin插件实现图层要素编辑效果

    场景 Leaflet快速入门与加载OSM显示地图: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/122290880 前面所引用的 ...

  6. Openlayers中使用animate实现车辆定位导航效果(以当前车辆为中心移动)

    场景 Openlayers中加载Geoserver切割的EPSG:900913离线瓦片地图并显示: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/ ...

  7. 开源GIS(十五)——openlayers通过geoserver中WFS删除要素

    目录 一.引言 二.WFS要素删除实现 三.WFS要素删除原理 1.请求xml 2.postman使用 3.要素删除 4.返回xml 四.openlayers中feature的坐标信息获取 五.总结 ...

  8. openlayers中使用rBush(R树)来存放要素等信息,本文修改了一点其中的rbush源码中的demo,使用canvas画出了insert和delete操作(建立树和删除树中数据)

    openlayers中使用rBush(R树)来存放要素等信息,本文修改了一点其中的rbush源码中的demo,使用canvas画出了insert和delete操作(建立树和删除树中数据) 修改后的源代 ...

  9. Openlayers中使用Cluster实现点位元素重合时动态聚合与取消聚合

    场景 Openlayers中使用Cluster实现缩放地图时图层聚合与取消聚合: Openlayers中使用Cluster实现缩放地图时图层聚合与取消聚合_BADAO_LIUMANG_QIZHI的博客 ...

最新文章

  1. 5G都不能取代的Wi-Fi6,到底有多厉害?
  2. 老板和主管不懂SEO,乱给SEO人员下指令怎么办?
  3. JDK和IDEA的安装(JDK11及以上版本自带JRE)
  4. 没个百来万就想自建技术团队?亲身经历告诉你,一个APP从无到有的开发到底要花多少钱!...
  5. ajax 每隔5秒,利用jQuery Ajax技术实现每隔5秒向某页面传值
  6. Lwip的udp编程
  7. win10下 vs2003搜索崩溃卡死问题解决方案
  8. 基于fpga的方波发生器
  9. 云原生服务网格 Istio 1.4 部署指南
  10. 往后余生-程序员版,哈哈哈
  11. 电源管理芯片LDO(Low Dropout Regulator)分析1
  12. OpenGL入门教程之 深入理解
  13. Oracle针对EMP表的练习题(很有用,值得收藏)
  14. 女赛--Girl Love Value (01背包)
  15. 9大论坛、多项AI创新成果,Imagination邀您共聚 AIIA2020人工智能开发者大会
  16. 10003---Node.js NPM使用介绍
  17. 报错:Process finished with exit code -1073741819 (0xC0000005)
  18. SLC MLC TLC QLC擦写次数
  19. 计算机病毒的检测预防查杀,计算机病毒的预防措施
  20. php框架symfony,Symfony框架配置

热门文章

  1. 当用户越来越“挑剔”,智能音箱如何押注未来?
  2. Drill下配置Hive存储插件
  3. Linguist的使用 实现Qt文本翻译
  4. 打游戏最好的蓝牙耳机:英雄联盟LOL手游推荐蓝牙耳机
  5. 写给正在读研一的自己----------------通过大佬总结的一些阅读文献的方法与受益匪浅的习惯(令人引起共鸣的想法)
  6. 房价上涨是万恶之首。。
  7. PDF阅读器系列之--MuPDF源码分析过程(一)
  8. 微信小程序开发之——改变Button的状态
  9. AirtestIDE 连接华为收集_重磅来袭!华为新品发布会又来了!
  10. ART简单体验和Android图形硬件加速分析