vue项目中openlayers绘制行政区划


Posted in Vue.js onDecember 24, 2020

vue项目中openlayers画行政区划(区域范围),供大家参考,具体内容如下

原理

在地图上画需要的范围,实际上就是在地图上打上一圈点,然后依次将这些点用线连接,就形成了范围

引用相应的ol模块

import VectorLayer from 'ol/layer/Vector'
import VectorSource from 'ol/source/Vector'
import { Map, View, Feature } from 'ol'
import { Style, Icon, Stroke } from 'ol/style'
import { Point, LineString, Polygon } from 'ol/geom'

获取范围点

这里我将点放在json文件中,然后通过axios读取
json文件截图:

vue项目中openlayers绘制行政区划

axios.get('static/常德市.json').then((res) => {
 let arr = res.data.coordinates
 let polygonFeature = new Feature({
   type: 'polygon',
   geometry: new Polygon(arr[0])
  })
  polygonFeature.setStyle(new Style({
   stroke: new Stroke({
   width: 2,

   color: [255, 255, 0, 0.8]
   }),
   fill: new Fill({
   color: [248, 172, 166, 0.2]
   })
   // text: new Text({
   // text: '这是区域'
   // })
  }))
  let polygonLayer = new VectorLayer({
   source: new VectorSource({
   features: [polygonFeature]
   })
  })
  this.gmap.addLayer(polygonLayer)
  })
  axios.get('static/怀化市沅陵县.json').then((res) => {
  let arr = res.data.coordinates
  let polygonFeature = new Feature({
   type: 'polygon',
   geometry: new Polygon(arr[0])
  })
  polygonFeature.setStyle(new Style({
   stroke: new Stroke({
   width: 2,
   color: [255, 255, 0, 0.8]
   }),
   fill: new Fill({
   color: [248, 172, 166, 0.2]
   })
   // text: new Text({
   // text: '这是区域'
   // })
  }))
  let polygonLayer = new VectorLayer({
   source: new VectorSource({
   features: [polygonFeature]
   })
  })
  this.gmap.addLayer(polygonLayer)
  })

vue项目中openlayers绘制行政区划

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Vue.js 相关文章推荐
Vue实现购物小球抛物线的方法实例
Nov 22 Vue.js
element-plus一个vue3.xUI框架(element-ui的3.x 版初体验)
Dec 02 Vue.js
如何正确解决VuePress本地访问出现资源报错404的问题
Dec 03 Vue.js
vue3使用vue-count-to组件的实现
Dec 25 Vue.js
vue3弹出层V3Popup实例详解
Jan 04 Vue.js
vue实现按钮切换图片
Jan 20 Vue.js
Vue 集成 PDF.js 实现 PDF 预览和添加水印的步骤
Jan 22 Vue.js
vue.js实现点击图标放大离开时缩小的代码
Jan 27 Vue.js
详解vue中v-for的key唯一性
May 15 Vue.js
Vue3.0写自定义指令的简单步骤记录
Jun 27 Vue.js
vue中 this.$set的使用详解
Nov 17 Vue.js
Vue监视数据的原理详解
Feb 24 Vue.js
Vue+penlayers实现多边形绘制及展示
Dec 24 #Vue.js
Vue使用鼠标在Canvas上绘制矩形
Dec 24 #Vue.js
vue绑定class的三种方法
Dec 24 #Vue.js
全面解析Vue中的$nextTick
Dec 24 #Vue.js
vue实现登录、注册、退出、跳转等功能
Dec 23 #Vue.js
vue下拉刷新组件的开发及slot的使用详解
Dec 23 #Vue.js
Vue3 实现双盒子定位Overlay的示例
Dec 22 #Vue.js
You might like
有关PHP性能优化的介绍
2013/06/20 PHP
PHP生成随机密码类分享
2014/06/25 PHP
php+ajax实现的点击浏览量加1
2015/04/16 PHP
PHP按一定比例压缩图片的方法
2018/10/12 PHP
关于Curl在Swoole协程中的解决方案详析
2019/09/12 PHP
php实现JWT(json web token)鉴权实例详解
2019/11/05 PHP
基于jQuery的实现简单的分页控件
2010/10/10 Javascript
jquery制作居中遮罩层效果分享
2014/02/21 Javascript
jQuery中fadeOut()方法用法实例
2014/12/24 Javascript
前端JS面试中常见的算法问题总结
2016/12/23 Javascript
使用jQuery操作DOM的方法小结
2017/02/27 Javascript
原生JS上传大文件显示进度条 php上传文件代码
2020/03/27 Javascript
利用three.js画一个3D立体的正方体示例代码
2017/11/19 Javascript
js构建二叉树进行数值数组的去重与优化详解
2018/03/26 Javascript
傻瓜式vuex语法糖kiss-vuex整理
2018/12/21 Javascript
vue3弹出层V3Popup实例详解
2021/01/04 Vue.js
Python随机读取文件实现实例
2017/05/25 Python
TensorFlow实现Softmax回归模型
2018/03/09 Python
Python基础之条件控制操作示例【if语句】
2019/03/23 Python
pandas 对日期类型数据的处理方法详解
2019/08/08 Python
opencv python在视屏上截图功能的实现
2020/03/05 Python
在主流系统之上安装Pygame的方法
2020/05/20 Python
Spark处理数据排序问题如何避免OOM
2020/05/21 Python
Becextech新西兰:数码单反相机和手机在线商店
2018/04/27 全球购物
集世界奢侈品和设计师品牌的意大利精品买手店:Tessabit
2019/08/17 全球购物
化工专业个人的求职信范文
2013/11/28 职场文书
质检部职责
2013/12/28 职场文书
综合实践教学反思
2014/01/31 职场文书
C++程序员求职信范文
2014/04/14 职场文书
2014最新房贷收入证明范本
2014/09/12 职场文书
机械设计专业大学生职业生涯规划书范文
2014/09/13 职场文书
自查自纠整改报告
2014/11/06 职场文书
同学聚会致辞集锦
2015/07/28 职场文书
python实现socket简单通信的示例代码
2021/04/13 Python
详解JavaScript中的执行上下文及调用堆栈
2021/04/29 Javascript
Python中的 Set 与 dict
2022/03/13 Python