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

openlayer:07点击实现切换图层之addLayer

在地图应用中,通常包含多个图层,如影像图层、底图图层和注记图层。为了显示特定图层,可以将其置于最上层。

  1. removeLayer和addLayer方法:通过移除和添加图层来控制显示。例如,使用map.removeLayer(biaojilayer)隐藏标记图层,使用map.addLayer(biaojilayer)重新显示。

完整代码

import { useState ,useEffect} from 'react';
import Map from 'ol/Map.js';
import View from 'ol/View.js';
import TileLayer from 'ol/layer/Tile.js';
import XYZ from 'ol/source/XYZ.js';
import VectorLayer from 'ol/layer/Vector.js';
import VectorSource from 'ol/source/Vector.js';
import GeoJSON from 'ol/format/GeoJSON.js';
import {fromLonLat} from 'ol/proj';
import './System.css'
import 'ol/ol.css';
let map=null;
function System() {let view=new View({center:fromLonLat([116.3903,39.9072]),zoom:7,})let ditulayer=new TileLayer({source:new XYZ({url :"http://t5.tianditu.gov.cn/vec_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=vec&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=528881a2c3d647268c04ab43dc46bd51"})})let biaojilayer=new TileLayer({source:new XYZ({url :"http://t3.tianditu.com/DataServer?T=cva_w&tk=faf4cf166d31edcaba5de523eae8084f&x={x}&y={y}&l={z}"})})useEffect(()=>{map=new Map({target:"mapp",view:view,layers:[ditulayer,biaojilayer]})})function go(){map.removeLayer(biaojilayer)}function back(){map.addLayer(biaojilayer)}return (<><div id="mapp" style={{width: "100%",height: "97vh"}}><div className="updown_btns"><div onClick={go}>显示底图层</div><div onClick={back}>显示标记图层</div></div></div></>)
}export default System

http://www.xdnf.cn/news/564751.html

相关文章:

  • 学习笔记:黑马程序员JavaWeb开发教程(2025.4.8)
  • 数据集下载并保存本地进行加载
  • Python----循环神经网络(Word2Vec)
  • HTTP/HTTPS 协议浅解
  • Python高效网络爬虫开发指南
  • 年度工作计划总结述职报告PPT模版一组分享
  • docker上传镜像
  • 【springcloud核心技术站概述】
  • PHP伪随机数
  • 【TTS回顾】StyleTTS 深度剖析:TTS+风格迁移
  • day019-特殊符号、正则表达式与三剑客
  • 佰力博科技与您探讨压电材料的原理与压电效应的应用
  • ATT Global赞助非小号全球行,引领RWA创新浪潮
  • 发二区利器:CNN+LSTM时序预测
  • 什么是“架构孤岛”?如何识别与整合?为什么现代企业在追求敏捷开发的同时,反而更容易陷入架构孤岛陷阱?
  • Docker安装Fluentd采集中间件
  • 微步在线 模拟登录 某验4代滑块验证
  • 探索 Duix.Heygem:开源数字人的创新之旅
  • 数据结构篇--优先级队列排序--实验报告
  • jenkins凭据管理
  • STM32项目分享:智能家居(机智云)升级版
  • 【RabbitMQ】记录 InvalidDefinitionException: Java 8 date/time type
  • 高级认知型Agent
  • 轻量化MEC终端 特点
  • COMPUTEX 2025 | 广和通创新解决方案共筑AI交互新纪元
  • 【项目】SpringBoot +MybatisPlus集成多数据源
  • 中天智能装备科技有限公司:智能仓储领域的卓越之选​
  • CentOS 10:启动telnet服务
  • Linux操作系统:信号
  • AI工程师系列——面向copilot编程