当前位置:网站首页>openalyers 好玩的效果之蒙版图层
openalyers 好玩的效果之蒙版图层
2022-08-06 05:24:00 【Giser_往事随风】
先看下我之前利用arcgis js api实现的蒙版效果:
arcgis js 4.18新体验:阴影滤镜图层
然后老规矩,看下利用 ol 去实现的效果吧


用的资源都是在线网址,不是切好的tif哦~~~
第一张图是可以只露出想要区域的底图,外部的可以设置透明色;
第二张图在第一份的基础上加了个影像,只显示mask 内部的影像。
很简单,也很有意思,可以延伸出其他在前端可以展示的效果。
实现过程:
主要用的是 ol-ext 的插件实现的(哈哈我也是站在别人的肩膀上蹦跶下的)
插件网址:ol-ext
然后直接上代码吧
<template>
<div id="olMap"></div>
</template>
<script>
import 'ol-ext/dist/ol-ext.min.css';
import { Map, View } from "ol";
import OSM from "ol/source/OSM"
import Stamen from 'ol/source/Stamen'
import TileLayer from "ol/layer/Tile"
import GeoJSON from "ol/format/GeoJSON";
import Fill from "ol/style/Fill";
import Mask from 'ol-ext/filter/Mask'
import Crop from 'ol-ext/filter/Crop'
import {createTDTImg} from '@/components/map/olMap/modules/basemap'
export default {
name: "ol-蒙版图层",
data() {
return {
mapObj:{
map:null,
view:null,
},
namespace:'testKH',
layername:'shushan',
baseUrl:'http://localhost:7777/geoserver/testKH/'
}
},
mounted() {
this.initMap();
},
methods: {
initMap(){
const osmBaseLayer = new TileLayer({
source:new OSM()
})
this.mapObj.view = new View({
center: [117.28, 31.86],
zoom: 8,
projection: 'EPSG:4326',
})
this.mapObj.map = new Map({
layers :[osmBaseLayer],
view:this.mapObj.view,
target:'olMap'
})
//添加蒙版图层
let f = new GeoJSON().readFeature(require('@/assets/indexMap.json').features[0])
var mask = new Mask({
feature: f,
wrapX: true,
inner: false,
fill: new Fill({ color:[255,255,255,0.6] })
});
var crop = new Crop({
feature: f,
wrapX: true,
inner: false
});
// 若不加天地图就直接将osmlayer 使用addFilter 就行
// osmBaseLayer.addFilter(crop);
// osmBaseLayer.addFilter(mask);
let tdtImgLayer = createTDTImg();
tdtImgLayer.addFilter(crop);
tdtImgLayer.addFilter(mask);
this.mapObj.map.addLayer(tdtImgLayer)
}
},
components: {}
}
</script>
<style scoped>
#olMap{
height:100%;
width: 100%;
}
</style>
边栏推荐
- 看一眼就不会忘的 DNS解析服务
- 详解使用可道云Kodbox快速在云服务器上搭建云盘
- Explain in detail how to install Home Assistant Supervised on Raspberry Pi to make smart devices at home smarter
- 五分钟看懂shell重定向和变量
- 动态规划之粉刷房子
- 外连接,exists存在,(DML):用SQL录入数据,用SQL删除数据,用SQL更新数据
- LAMP+DISCUZ论坛搭建流程
- 对象存储布局,对象如何定位,对象如何分配
- 落地实践 | 网络安全网格架构(CSMA)的正确打开姿势
- office运行时错误,部分系统文件可能丢失或已损坏(错误代码:0x80040154)
猜你喜欢

antdesign 动态引入icon

HAProxy 生产环境架构

4.1 脚本病毒编写实验

ARMv7-M Debug Part

TCP协议理解和用法以及三次握手四次分手

必看五大安全趋势 Fortinet全球威胁态势报告发布

Fortinet发布2022年安全趋势预测,威胁将蔓延整个攻击面

MySql data table structure optimization summary

The Home Assistant container on the Raspberry Pi uses the command sensor to obtain and display information such as CPU temperature, memory usage, etc.

《Gartner 2022年网络防火墙关键能力报告》发布,Fortinet获得三大用例最高得分
随机推荐
教你怎样用三剑客玩转正则表达式
Cesium 填坑之路
4.2 木马攻防实验
mysql-nonroot安装部署检查
virsh的快照管理
大型跨国公司如何“躺赢”IT趋势挑战
jpa中orphanRemoval和cascade如何理解
响应式布局
Fortinet :《2021 年OT与网络安全现状报告》之「OT安全洞察」
勒索软件攻击防御的9件事
ARMv7-M Debug Part
3.6 Meterpreter 键盘记录
Fortinet :《2021 年OT与网络安全现状报告》之「要点综述」
SSH service details
详解树莓派上如何安装Home Assistant Supervised,让家里的智能设备更智能
判断某一天是当年的第几天,计算油耗情况,设s=1*2*3*4*5*……*n,求s不大于400000时最大的n。拆分数字,素数,将三个整数按从小到大排序,回文数,判断三个边长能否组成三角形。判断水仙花数
Docker quickly installs & builds Redis environment
外连接,exists存在,(DML):用SQL录入数据,用SQL删除数据,用SQL更新数据
selenium简单常见操作(部分WebdriverAPI)
The Home Assistant container on the Raspberry Pi uses the command sensor to obtain and display information such as CPU temperature, memory usage, etc.