openLayers中实现面要素立体化效果
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中实现面要素立体化效果相关推荐
- 开源GIS(七)——openlayers中单击获取要素(深度好文)
目录 一.引言 二.前台方法 1.interaction中select方法 2.map中forEachFeatureAtPixel方法 三.gis server方法 1.wms中getfeaturei ...
- Openlayers中使用Overlay实现点击要素显示html内容弹窗并且动态更改弹窗内容
场景 Openlayers中使用Overlay实现点击要素弹窗并且弹窗随之移动: Openlayers中使用Overlay实现点击要素弹窗并且弹窗随之移动_BADAO_LIUMANG_QIZHI的博客 ...
- Openlayers中使用Overlay实现点击要素弹窗并且弹窗随之移动
场景 Vue+Openlayer使用overlay实现弹窗弹出显示与关闭: Vue+Openlayer使用overlay实现弹窗弹出显示与关闭_BADAO_LIUMANG_QIZHI的博客-CSDN博 ...
- Openlayers中使用Cluster+Overlay实现点击单个要素和聚合要素时显示不同弹窗
场景 Openlayers中使用Cluster实现缩放地图时图层聚合与取消聚合: Openlayers中使用Cluster实现缩放地图时图层聚合与取消聚合_BADAO_LIUMANG_QIZHI的博客 ...
- Leaflet中使用Leaflet.Pin插件实现图层要素编辑效果
场景 Leaflet快速入门与加载OSM显示地图: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/122290880 前面所引用的 ...
- Openlayers中使用animate实现车辆定位导航效果(以当前车辆为中心移动)
场景 Openlayers中加载Geoserver切割的EPSG:900913离线瓦片地图并显示: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/ ...
- 开源GIS(十五)——openlayers通过geoserver中WFS删除要素
目录 一.引言 二.WFS要素删除实现 三.WFS要素删除原理 1.请求xml 2.postman使用 3.要素删除 4.返回xml 四.openlayers中feature的坐标信息获取 五.总结 ...
- openlayers中使用rBush(R树)来存放要素等信息,本文修改了一点其中的rbush源码中的demo,使用canvas画出了insert和delete操作(建立树和删除树中数据)
openlayers中使用rBush(R树)来存放要素等信息,本文修改了一点其中的rbush源码中的demo,使用canvas画出了insert和delete操作(建立树和删除树中数据) 修改后的源代 ...
- Openlayers中使用Cluster实现点位元素重合时动态聚合与取消聚合
场景 Openlayers中使用Cluster实现缩放地图时图层聚合与取消聚合: Openlayers中使用Cluster实现缩放地图时图层聚合与取消聚合_BADAO_LIUMANG_QIZHI的博客 ...
最新文章
- 5G都不能取代的Wi-Fi6,到底有多厉害?
- 老板和主管不懂SEO,乱给SEO人员下指令怎么办?
- JDK和IDEA的安装(JDK11及以上版本自带JRE)
- 没个百来万就想自建技术团队?亲身经历告诉你,一个APP从无到有的开发到底要花多少钱!...
- ajax 每隔5秒,利用jQuery Ajax技术实现每隔5秒向某页面传值
- Lwip的udp编程
- win10下 vs2003搜索崩溃卡死问题解决方案
- 基于fpga的方波发生器
- 云原生服务网格 Istio 1.4 部署指南
- 往后余生-程序员版,哈哈哈
- 电源管理芯片LDO(Low Dropout Regulator)分析1
- OpenGL入门教程之 深入理解
- Oracle针对EMP表的练习题(很有用,值得收藏)
- 女赛--Girl Love Value (01背包)
- 9大论坛、多项AI创新成果,Imagination邀您共聚 AIIA2020人工智能开发者大会
- 10003---Node.js NPM使用介绍
- 报错:Process finished with exit code -1073741819 (0xC0000005)
- SLC MLC TLC QLC擦写次数
- 计算机病毒的检测预防查杀,计算机病毒的预防措施
- php框架symfony,Symfony框架配置