由于单位这边有个项目是基于openlayers地图引擎框架实现webgis地图可视化功能,但是要调用第三方的arcgis矢量瓦片服务以及适配样式,在这个背景下,基于openlayers+vue实现适配arcgis矢量瓦片服务以及样式效果,适合学习openlayers与前端框架结合webgis开发可视化项目。

备注:由于地图服务数据保密性以及局域网性质,源码里面的矢量瓦片服务地址都是访问不到的,真正运用要自行替换修改自己实际的矢量瓦片服务地址。

demo源码运行环境以及配置

运行环境:依赖Node安装环境,demo本地Node版本:推荐v18+。

运行工具:vscode或者其他工具。

配置方式:下载demo源码,vscode打开,然后顺序执行以下命令:
(1)下载demo环境依赖包命令:npm install
(2)启动demo命令:npm run dev
(3)打包demo命令: npm run build

技术栈

Vue 3.3.9

Vite 5.0.4

ol 10.6.1

示例效果
在这里插入图片描述
核心源码

<template><div id="map" class="map-container"></div>
</template>
<script setup>
import { onMounted } from 'vue';
import 'ol/ol.css';
import Map from 'ol/Map.js';
import View from 'ol/View.js';
import MVT from 'ol/format/MVT.js';
import VectorTileSource from 'ol/source/VectorTile.js';
import WebGLTileLayer from 'ol/layer/WebGLTile.js';
import Source from 'ol/source/ImageTile.js';
import VectorTileLayer from 'ol/layer/VectorTile.js';
import { fromLonLat } from 'ol/proj';
const accessToken = 'a1ae7c4c6e7c525adda2aeeb9928a7fa54e425d46c4f2338f93df06307652331';
const parcelsStyle = {……} // 由于样式过长,具体见完整的源码demo
onMounted(() => {const parcelsSource = new VectorTileSource({format: new MVT(),// url: `https://vectortileservices3.arcgis.com/GVgbJbqm8hXASVYi/arcgis/rest/services/Santa_Monica_Mountains_Parcels_VTL/VectorTileServer/tile/{z}/{y}/{x}.pbf`,url:'https://xxx.xxx.com.cn/api/energy-geo-services/proxy/esri.proxy?https://xxx.xxx.com.cn/server/rest/services/Hosted/ChuLiJiSuanZhanChang/VectorTileServer/tile/{z}/{y}/{x}.pbf?accessToken=' +accessToken, // 这里arcgis矢量瓦片服务URL需要具体替换});const parcelsLayer = new VectorTileLayer({source: parcelsSource});new Map({layers: [new WebGLTileLayer({source: new Source({url:'https://ibasemaps-api.arcgis.com/arcgis/rest/services/' + 'World_Imagery/MapServer/tile/{z}/{y}/{x}?token=AAPKca495ea263b64e44b61eaaecdbddebfcwEQjC8k8-6XGMrrXyCie6xzybboRl4REq-TwDQTm8Wz-8sL6REARz1wcm14Kq9ny',}),}),parcelsLayer],target: 'map',view: new View({// center: fromLonLat([-118.4877, 34.0227]),// zoom: 14,center: fromLonLat([113.47, 23.47]), // 关键转换zoom: 7,}),});applyStyle(parcelsLayer, parcelsStyle, {updateSource: false})
})
</script>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/96750.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/96750.shtml
英文地址,请注明出处:http://en.pswp.cn/diannao/96750.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mybatis xml中表名 字段报红解决

mybatis xml中表名 字段报红解决

谷歌浏览器重定向url,谷歌浏览器浏览网页修改url到本地

谷歌应用商店搜索插件requestly&#xff08;有个相似名称的插件&#xff0c;选择这个Requestly: Supercharge your Development & QA&#xff09; 安装后打开插件网址https://app.requestly.io/rules/my-rules 新建规则rules->my rules-> new rule -> redirect …

教育场景下禁用html5播放器拖动进度条的例子

禁用视频课程进度条的拖动功能&#xff0c;主要是为了强制学员按照课程设计的顺序观看内容&#xff0c;防止跳过关键知识点&#xff0c;从而保证学习效果和课程的完整性。 1.防止应试作弊&#xff1a; 在一些需要观看视频才能解锁下一章节或完成测试的场景中&#xff0c;禁用…

async实战

一、协程 协程是程序员人为创造 协程是一种用户态内的上下文切换技术。通过一个线程实现代码块相互切换执行。yield返回生成器 yield from 代表&#xff0c;跳到 func2协程函数 通过函数名()&#xff0c;是执行不了的。需要把函数加入到loop里面来&#xff0c;才可以被执行。 把…

个人搭建小网站教程(云服务器Ubuntu版本)

目录 1.配置云服务器&#xff08;略讲&#xff09; 2.vscode连接&#xff08;ssh连接&#xff09; 3.本地压缩项目包 4.传输项目 5.配置项目依赖 6.运行项目 1.启动 FastAPI 后端&#xff08;Python 部分&#xff09; 2.启动 Next.js 前端&#xff08;Node.js 部分&…

pion/webrtc v4.1.4 版本发布:关键特性与性能优化全面解析

引言 实时通信技术在现代互联网应用中扮演着越来越重要的角色&#xff0c;从视频会议到在线教育&#xff0c;从远程医疗到物联网设备交互&#xff0c;WebRTC技术已经成为实时音视频通信的事实标准。作为Go语言中最成熟且广泛使用的WebRTC实现&#xff0c;pion/webrtc项目持续推…

集成算法(聚类)

下面简单集成算法代码from sklearn.datasets import make_blobs from sklearn.cluster import KMeans import matplotlib.pyplot as plt# 创建数据集&#xff0c;生成 3 个中心的聚类数据&#xff0c;共 300 个样本&#xff0c;每个样本 2 个特征 X, _ make_blobs(n_samples30…

01 网络信息内容安全--绪论

1 课程内容 网络信息内容获取技术网络信息内容预处理技术网络信息内容过滤技术社会网络分析技术入侵检测技术异常流量检测技术对抗攻击技术 2 理论研讨 分为16个组 2.1 网络信息内容获取技术&#xff1a;第1组 【用DeepSeek网站爬虫&#xff0c;数据获取零成本&#xff01…

GPT-5:天变了吗?还是风停了?

2025年8月8日&#xff0c;OpenAI 发布了 GPT-5。这次更新被许多人寄予厚望&#xff0c;也引发了不少争议。对普通用户来说&#xff0c;这是一场“又快又会做事”的智能盛宴&#xff1b;而对资深开发者和 AI 研究者而言&#xff0c;GPT-5 可能更像是一次不够激进、略显保守的版本…

生信分析自学攻略 | R语言数据筛选和修改

在《生信小白自学攻略》系列的前几篇文章中&#xff0c;我们已经了解了 R 和 RStudio 的安装、RStudio 的深度探索&#xff0c;以及 R 语言的基本数据类型和数据结构。现在&#xff0c;是时候深入探讨如何运用 R 语言对数据进行精细化处理了。本篇推文将详细介绍如何在 R 中对数…

从零开始学习概念物理(第13版)(1)

前言&#xff1a;对我来说&#xff0c;最有用的就是物理了&#xff0c;尤其是电磁学。但是要学好它&#xff0c;我得夯实我的基础&#xff0c;前面更加基础的数学和物理都不能拉下。现在我问了Deepseek推荐的国外物理书&#xff0c;这本《概念物理》是最适合我&#xff0c;等入…

CSS变量

元素背景需要统一&#xff0c;一个个设置修改起来很麻烦&#xff0c;也没有全局变量&#xff1f; CSS中的变量_css变量-CSDN博客 -- 前缀定义变量&#xff0c;var(--) 使用变量&#xff0c;:root 表示根元素。 :root { --bg:#222; --fg:#bbb; } body { background:var(--bg)…

C++(Qt)软件调试---vscode配置clang-tidy静态分析(30)

C(Qt)软件调试—vscode配置clang-tidy静态分析&#xff08;30&#xff09; 文章目录C(Qt)软件调试---vscode配置clang-tidy静态分析&#xff08;30&#xff09;[toc]1 概述2 clang-tidy基本用法3 目前已有检查项4 vscode配置clang-tidy5 .clang-tidy配置文件6 参考地址更多精彩…

每天自动备份oracle

oracle数据库比其他数据库都贵&#xff0c;但是自带的管理工具却很差&#xff0c;真不知道咋想的。想完成每天自动备份&#xff0c;只能自己动手(window环境)&#xff1a;1、创建个备份目录&#xff0c;如D:\databack2、创建个脚本&#xff1a;backup.bat核心内容如下&#xff…

HBase Coprocessor:扩展HBase功能的利器

HBase Coprocessor&#xff1a;扩展HBase功能的利器 关键词&#xff1a;HBase, Coprocessor, 协处理器, RegionServer, 分布式计算, 扩展功能, 二级索引 摘要&#xff1a;HBase作为Hadoop生态中的分布式列存储数据库&#xff0c;以高可靠性、高吞吐量和强一致性著称&#xff0c…

【Java后端】Spring Boot 实现请求设备来源统计与UA解析全攻略

Spring Boot 实现请求设备来源统计与UA解析全攻略 在 Web 应用的实际场景中&#xff0c;我们经常需要知道 请求来自哪里 —— 是 Android 手机&#xff1f;还是 iOS&#xff1f;或者是 PC 浏览器&#xff1f; 这类信息往往可以通过 User-Agent (UA) 来统计&#xff0c;进而帮助…

技术框架搭建:支撑竞拍全流程

纯竞拍的技术框架是一个多层协同的系统&#xff0c;从用户交互到数据处理&#xff0c;每个环节都有专门的技术组件提供支持。​前端层是用户与竞拍系统交互的窗口&#xff0c;核心目标是提供流畅、实时、直观的操作体验。采用 React、Vue 等主流前端框架构建单页应用&#xff0…

2025.8.18-2025.8.24第34周:有内耗有挣扎

&#x1f31f; 本周完成的3件亮点事情&#xff08;可具体写过程&#xff09;&#xff1a; openvla debug起来了把上周的演讲视频发给了导师&#xff0c;人家帮我提了很多建议。罗永浩&#xff0c;李想4小时访谈看完了即兴演讲开始不内耗&#xff0c;直接讲&#xff0c;这样才能…

点播视频预览是怎么做到的?

看进度条上的小窗口&#xff0c;你有没有想过&#xff0c;哔哩哔哩是如何在进度条上显示视频预览的? 这个功能非常有用&#xff0c;尤其是在播放长视频时。 如何才能实现? 实现这一点有三种方法。 预先为视频生成 CSS sprites&#xff0c;并通过 API 获取预先为视频生成 W…

prometheus监控kubernetes集群并使用 grafana展示数据

目录 Prometheus组成及架构 prometheus核心组件 1.Prometheus Server 2.Exporters 3.Alertmanager 4.Pushgateway 数据流程 在k8s中部署PrometheusGrafana钉钉告警邮件告警 将kube-Prometheus包下载后传入虚拟机 tar -xzv kube-promethus.zip cd 进入 ll 显示目录 …