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

【OpenLayers】VUE+OpenLayers+ElementUI加载WMS地图服务

【OpenLayers】VUE+OpenLayers+ElementUI加载WMS地图服务

  • 准备工作
  • 安装vue
  • 创建vue项目
  • 安装OpenLayers
  • 安装ElementUI
  • 加载wms地图服务

准备工作

需要安装好nodejs,nodejs下载地址,下载对应的版本向导式安装即可。
nodejs下载
安装完成后,控制台输入node -v,显示版本号即安装成功。
下载完成后,默认将缓存路径和下载路径设置的C盘,可以使用如下命令修改:

npm config set prefix "下载默认路径"
npm config set cache “缓存路径”

设置之后需要将上面两个地址添加到环境变量中。

安装vue

# - g为全局安装,将安装到node_global目录下,否则只会安装到当前目录
npm install vue -g

安装完成之后控制台输入vue -V,显示版本号则安装成功。

安装后遇到的问题:
执行vue时报错:

vue : 无法加载文件…/vue.ps1,因为在此系统上禁止运行脚本,有关详细信息,…

解决方案:控制台输入以下命令
(1)查看当前的执行策略

Get-ExecutionPolicy

(2)修改执行策略为RemoteSigned

Set-ExecutionPolicy -Scope CurrentUse

修改执行策略

创建vue项目

控制台进入到要创建vue项目的目录下,执行如下命令:

vue create ***(项目名,字母只能小写)

接着选择vue项目的配置,我这里选择的是vue3,其他的配置如下图:
vue项目配置
启动vue项目:进入项目的目录下,执行npm run serve 启动。访问http://localhost:8080/ 显示vue界面即启动成功。
修改vue项目的端口可以通过项目根目录下package.json文件修改serve:“serve”: “vue-cli-service serve --port 8002”
修改vue项目端口

安装OpenLayers

在项目根目录下执行

npm install ol

安装ElementUI

由于选择的是vue3项目,所以需要配合使用element plus,在项目根目录下执行

npm install element-plus --save

加载wms地图服务

在配置好以上环境后,下面就可以正式实现加载wms地图服务的功能。
在src/components目录下新建map.vue文件,实现地图的显示:

<!-- eslint-disable vue/multi-word-component-names -->
<template><divid="mapDiv"style="width: 800px; height: 600px; border: 1px solid #ff0000"></div>
</template><script>
import "ol/ol.css";
import Map from "ol/Map";
import View from "ol/View";
import ImageWMS from "ol/source/ImageWMS";
import Image from "ol/layer/Image";export default {data() {return {map: null, //地图};},mounted() {this.initMap();},created() {},methods: {initMap() {var image = new Image({source: new ImageWMS({//不能设置为0,否则地图不展示。ratio: 1,url: "http://127.0.0.1:8080/geoserver/province/wms",params: {LAYERS: "province:新疆",STYLES: "",VERSION: "1.1.1",FORMAT: "image/png",},serverType: "geoserver",}),});this.map = new Map({//地图容器IDtarget: "mapDiv",//引入地图layers: [image],view: new View({center: [84, 42],zoom: 22,}),});this.$root._olMap = this.map;},},
};
</script><style scoped>
.map {width: 100%;height: 800px;
}
</style>

其中,url及相关参数可以从geoserver中获取:
url和参数获取

接下来修改App.vue的内容,这里使用了这个布局:
element ui布局
其他的布局可以直接在element常用布局中直接复制模板进行修改。

<template><div id="app"><el-container class="app-out-pannel"><el-header class="sys-header">OpenLayers加载WMS地图服务</el-header><el-container class="app-content-pannel"><el-aside class="sys-menu" width="200px"></el-aside><el-container><el-main class="app-main"><olMap></olMap></el-main><el-footer></el-footer></el-container></el-container></el-container></div>
</template><script>
import olMap from "./components/map.vue";export default {name: "App",components: {olMap,},
};
</script><style>
#app {position: relative;width: 100%;height: 100%;margin: 0;
}
.app-out-pannel,
.app-content-pannel {height: 100%;
}
.sys-header {background-color: #a7ee91;line-height: 60px;height: 60px;color: #0e0d0d;font-size: 600;
}
.sys-menu {background-color: #c0fac5;
}
.app-main {background-color: #faf9f8;
}
</style>

最后修改main.js,引入相关的包:

import { createApp } from "vue";
import App from "./App.vue";
import ElementPlus from "element-plus";
import "element-plus/dist/index.css";
import zhCn from "element-plus/es/locale/lang/zh-cn";const app = createApp(App);app.use(ElementPlus, { locale: zhCn });
app.mount("#app");

最后输入 npm run serve 运行,浏览器中打开如下图:
加载wms服务

http://www.lryc.cn/news/56079.html

相关文章:

  • linux 命名管道 mkfifo
  • Redis(主从复制、哨兵模式、集群)概述及部署
  • windows下软件包安装工具之Scoop安装与使用
  • 九龙证券|人工智能+国产软件+智慧城市概念股火了,欧洲资管巨头大举抄底
  • Nacos下载安装与配置(windows)
  • QT学习笔记(语音识别项目 )
  • Vulnhub:DC-4靶机
  • 序列差分练习题--从模板到灵活运用
  • Xshell 连接 Ubuntu 20.04
  • 【网口交换机:交换机KSZ9897学习-笔记-资料汇总-记录】
  • linux信号量及其实例
  • Nomogram | 盘点一下绘制列线图的几个R包!~(一)
  • 两个数组的交集(力扣刷题)
  • SonarQube 10.0 (macOS, Linux, Windows) - 清洁代码 (Clean Code)
  • 怎么统一把文件名不需要部分批量替换掉
  • Vue3电商项目实战-结算支付 3【05-结算-收货地址-添加、06-结算-收货地址-修改、07-结算-提交订单】
  • 开心档之开发入门网-C++ 变量作用域
  • 蓝易云:linux怎么关闭防火墙详细教程
  • 操作系统-用户进程
  • 小驰私房菜_07_camx EIS使能
  • 互联网快速发展,孕育着新技术、新模式的全新时代正在到来
  • 【VUE】1、安装node.js
  • 一文弄懂window.print()打印
  • 卷麻了,00后测试用例写的比我还好,简直无地自容.....
  • mysql性能优化之explain分析执行计划
  • IDEA修改关键字和注释颜色
  • 数据库总结/个人总结
  • 【Maven】开发自己的starter依赖
  • JVM与Java体系
  • 【C++笔试强训】第十二天