博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
openlayer5实现地图撒点,点击弹框效果
阅读量:3911 次
发布时间:2019-05-23

本文共 1803 字,大约阅读时间需要 6 分钟。

效果展示:

注意:公共代码,详细流程请看:

实现步骤:

 第一:用geoserver发布地图图层

 第二:在页面引用公共efgis.js文件

import webgisT from '../../config/efgis';//引入公共js文件

 第三:在页面用openlayer引入地图

this.map = webgisT.init('map_tqT');//调动公共js中的初始化方法

 第四:定义撒点方法,并调用

methods: {      // 地图初始化      init: function () {        // geoserver图层        this.map = webgisT.init('map_tq');//map_tq是容器id      },      // 作业点初始化      initzydPoint() {        let list = [];        let pointsData = [];        for (let i = 0; i < this.zydPoints.length; i++) {          let data = this.zydPoints[i];          let obj = {            name:'',            lon: data.lon,//经度            lat: data.lat,//纬度            sb:data.sb,            params: [],            html:{//html不传弹框的内容会由params决定,传的值不为空,则取html的              'class':'sbyw_zntq',//设备运维-智能台区              'data':data.sb,//数据名称              'VandA':[]            }          };              let lx =  obj.sb;              if(lx == '杆'){                obj['img'] = 'map_tq_gt';              }else  if(lx == '表'){                 obj['img'] = 'map_tq_db';              } else if (lx == '变压器') {                obj['img'] = 'map_tq_byq';              }else{                obj['img'] = '';              }          list.push(obj);        }        this.zydLayer = webgisT.addPointsLayer_zygk(list);      },      removezydPoint() {        webgisT.removePointslayer(this.zydLayer);      },    },

调用:

props: ['zydPoints'],//传入的撒点数据watch: {      zydPoints(val, old) {        if (val != old) {           if (this.zydLayer != null) {            this.removezydPoint();          }          this.initzydPoint();        }      }    }

我这里的数据格式:

[{          "name":"电压:10kV,电流:10A",          "lat":"22.698915973305702",//维度          "lon":"112.25102931261064",//经度          "sb":"杆"        }]

注,我这里是根据类型来决定他这个点使用那张图片的,一定要注意,没有sb这个字段,页面是看不到的

转载地址:http://rawrn.baihongyu.com/

你可能感兴趣的文章
【原创】StackOverflow 20万关注的问题:如何实现异步Task超时的处理?
查看>>
.NET Core 3.1通用主机原理及使用
查看>>
UnitTest in .NET(Part 1)
查看>>
CAP 3.0 版本正式发布
查看>>
Xamarin.Forms弹出对话框插件
查看>>
UnitTest in .NET(Part 4)
查看>>
大量SQL的解决方案——sdmap
查看>>
与其每天重复,不如试着构建「正反馈闭环」
查看>>
【Azure学习.01】先从账号注册开始
查看>>
如何运用领域驱动设计 - 工作单元
查看>>
服务器应用服务为何卡顿?原来是内存耗尽惹的祸!
查看>>
什么?原来C#还有这两个关键字
查看>>
Mbp,一个用于学习.net core的开发框架
查看>>
【Magicodes.IE 2.0.0-beta1版本发布】已支持数据表格、列筛选器和Sheet拆分
查看>>
net下的高性能轻量化半自动orm+linq的《SqlBatis》
查看>>
如何利用Serilog的RequestLogging来精简ASP.NET Core的日志输出
查看>>
在 Blazor WebAssembly 中使用 gRPC-Web
查看>>
【实战 Ids4】║ 在Swagger中调试认证授权中心
查看>>
.NET Core开发实战(第10课:环境变量配置提供程序)--学习笔记
查看>>
WTM系列视频教程:View和Taghelper
查看>>