openlayers 专栏
文章平均质量分 85
openlayers专栏
Q_Q 忙里偷闲
自律。
展开
-
vue2+openlayers6 项目实战示例详解【目录】
Vue是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动OpenLayers是一个JavaScript 类库包,主要是用于开发Web GIS客户端。这就是说,要先在网页中引用OpenLayers的JavaScript文件以及相应的css样式表和资源,根据其提供的功能接口,直接调用。原创 2023-09-15 11:34:25 · 3176 阅读 · 1 评论 -
openlayers6【二十九】业务交互:Circle矢量图层展示圆圈和区域名称,鼠标移入显示区域范围功能,分区找房
文章目录1. 写在前面2. 实现思路3. 实现代码3.1 初始化地图方法 initMap()3.2 加载圆圈和区域名称的图层 addCircle()3.3 鼠标移动到圆圈,展示该区域的范围4. 完整代码1. 写在前面最近在看房子,打算买房子,就看到某系统的这个功能,按照区域选房,比如上图为重庆市下面的所有区,默认显示的是区和该区域的房产有多少套。现在我们就来实现一下他。2. 实现思路以重庆市为列,需要显示下面的区的名称和圆圈的图层。鼠标悬浮到该地区的时候,需要默认渲染出来该区的管辖范围。下面原创 2021-10-21 16:25:40 · 2349 阅读 · 4 评论 -
openlayers6【二十八】批量设置闪烁点,feature要素通过postrender机制批量生成动态点
文章目录1. 写在前面1.1 实现方式一1.2 实现方式二1.3 实现方式三2. 效果图3. 核心代码4. 完整代码1. 写在前面实现点的闪烁效果可以有很多种,下面列举几个常见的实现方式:1.1 实现方式一可以使用overlay去实现,overlay原理就是创建一个div,通过css样式去控制闪烁(如:如何用css3做openLayers3的闪烁效果),想要遍历实现的话,就创建多个overlay的div。这种也是网上百度出来最多的一种。1.2 实现方式二使用openlayers3 的postco原创 2021-08-27 16:45:28 · 5749 阅读 · 14 评论 -
openlayers6【二十七】业务交互:聚合图根据不同的数值,聚合标注显示不同的颜色
文章目录1. 实现效果2. 根据缩放聚合值 修改标注颜色代码1. 实现效果实现聚合上图文章: openlayers6【二十】vue Cluster类实现聚合标注效果实现聚合上图文章: openlayers6【二十】vue Cluster类实现聚合标注效果2. 根据缩放聚合值 修改标注颜色代码// 根据值大小判断颜色getColor(val) { if (val < 100) return "blue"; else if (val >= 100 && val原创 2021-08-27 11:44:02 · 1618 阅读 · 1 评论 -
openlayers6【二十六】业务交互:Cluster 聚合标注控制,显示隐藏聚合标注
文章目录1. 聚合标注是什么,为什么需要聚合标注2. 实现效果3. 核心代码4. 完整代码1. 聚合标注是什么,为什么需要聚合标注聚合标注,是指在不同地图分辨率下,通过聚合方式展现标注点的一种方法。其设计目的是为了减少当前视图下加载标注点的数量,提升客户端渲染速度。因为如果在地图上添加很多标注点,当地图缩放到小级别(即大分辨率)时会出现标注重叠的现象,既不美观,渲染效率也会受到影响。此时,可以根据地图缩放级数(zoom)的大小,将当前视图的标注点进行聚合显示。OpenLayers也考虑到加载大数据量原创 2021-08-27 10:31:47 · 2116 阅读 · 6 评论 -
openlayers6【二十五】vue 通过gis数据动态数据,实现地图省市区下钻,图层渲染
文章目录1. 写在前面2. 先获取广东省的区域,进行图层渲染到map上3:就是通过点击地图的区域,拿去到地图下有哪些市及区,进行遍历渲染市和区3.1 通过接口查询广东省下面有哪些市和区3.2 然后通过遍历去生成图层添加到map里面3.3 每次添加图层之前把之前的图层先删除4. map.vue5. 核心代码:CreateArea.js1. 写在前面结合上文 openlayers6【二十四】vue 通过gis数据显示省的区域图层,地图下钻到可视中间区域效果 进行广东省初始化页面加载一层(省)的数据,就可以.原创 2021-07-30 16:53:56 · 3903 阅读 · 3 评论 -
openlayers6【二十四】vue 通过gis数据显示省的区域图层,地图下钻到可视中间区域效果
本文主要是下面一个简单初始化默认场景,即初始化页面时候,根据接口返回的数据,动态加载广东省的区域并且设置图层,默认下钻到屏幕的可视中间区域。如下面效果图。文章目录1.写在前面2. 初始化地图initMap()方法3. 通过接口请求数据,并且实现地图位于屏幕中心的效果展示4. getGeometryByCode 方法5. 接口返回数据结构1.写在前面可以参考前面文章 openlayers6【十七】vue VectorLayer矢量图层画地图省市区,多省市区(粤港澳大湾区)效果详解 根据模拟的数据.原创 2021-07-30 14:06:18 · 2900 阅读 · 6 评论 -
openlayers6【二十三】vue LineString 实现地图轨迹路线,设置起点和终点的标注信息详解
文章目录1.写在前面2. 创建轨迹线段,设置起点和终点位置和样式代码3. 完整代码4. track-car.json 轨迹JSON数据1.写在前面本文主要是下面一个简单切经典的需求场景,在地图上根据轨迹的经纬度数据,通过openlayers的LineString 方法创建一条线,并且设置起点和终点的标注信息。下面是效果图。2. 创建轨迹线段,设置起点和终点位置和样式代码addTrack() { // 根据经纬度点位创建线 var routeFeature = new Feature({原创 2021-07-29 10:37:40 · 5830 阅读 · 5 评论 -
openlayers6【二十二】vue addLayer实现点击地图添加图标要素信息,编辑点位信息
文章目录1.写在前面2. 地图点击事件singleclick2.1 点击获取经纬度,调用创建mark要素的方法2.2 实现根据经纬度创建mark要素,设置mark样式,添加到图层,创建要素标题的信息3. 完整代码1.写在前面本文主要基于上篇文章的扩展,通过在地图上点击,创建一个要素,点击要素的标题对要素的信息进行编辑操作。上篇文章地址 openlayers6【二十一】vue addLayer实现点击地图添加图标要素信息下面是点击地图进行mark元素,然后进行编辑操作的效果图2. 地图点击事件s.原创 2021-07-29 10:08:24 · 3177 阅读 · 0 评论 -
openlayers6【二十一】vue addLayer实现点击地图添加图标要素信息
关于openlayer 的知识很久没有写了,之前在忙于写公司的其他项目,现在不忙了补补openlayers相关的知识记录下~文章目录1.写在前面2. 地图点击事件singleclick2.1 点击获取经纬度2.2 实现根据经纬度创建mark要素,设置mark样式,添加到图层3. 完整代码1.写在前面本文主要是下面的效果,通过点击地图位置,可以直接设置一个mark的位置元素信息,包括图标和文字的样式效果。好了,继续往下看前面的文章说了,图层使用的layer 对象表示的,主要有 WebGLPoint.原创 2021-07-07 14:34:18 · 4117 阅读 · 5 评论 -
openlayers6【二十】vue Cluster类实现聚合标注效果
文章目录1. 写在前面2. Cluster 参数2. Cluster类实现聚合分散3. 完整代码1. 写在前面前面两篇文章 我们讲了矢量图层 VectorLayer的常用的场景openlayers6【十七】vue VectorLayer矢量图层画地图省市区,多省市区(粤港澳大湾区)效果详解openlayers6【十八】vue VectorLayer矢量图层实现批量图标点位上图功能详解这篇我们继续写一篇 VectorLayer矢量图层 的使用,足见矢量图层在openlayers中的应用是很广泛的也是原创 2020-07-21 09:12:58 · 4763 阅读 · 10 评论 -
openlayers6【十九】vue HeatmapLayer热力图层实现热力图效果详解
文章目录1. 写在前面2. Heatmap 类实现热力图2.1 Heatmap 参数2.2 实现热力图3. 完整代码4. 添加删除map图层的方法5. 热力图自身的get,set方法1. 写在前面我们主要看热力图的效果,区域绘制效怎么设置详细内容可以访问 openlayers6【十七】vue VectorLayer矢量图层画地图省市区,多省市区(粤港澳大湾区)效果详解在 openlayers 中,图层是使用 layer 对象表示的,主要有 WebGLPoints Layer、热度图(HeatMap L原创 2020-07-20 16:51:48 · 9223 阅读 · 15 评论 -
openlayers6【十八】vue VectorLayer矢量图层实现批量图标点位上图功能详解
文章目录1. 写在前面1. 效果图2. 实现批量标注点位操作代码(核心请看 `addPoints` 方法和 `getIcon`方法)3. 完整代码1. 写在前面1. 效果图2. 实现批量标注点位操作代码(核心请看 addPoints 方法和 getIcon方法)addPoints 方法① 创建一个图层② 图层添加到map地图③ 循环(点经纬度)数组④ 创建feature对象,最后添加到图层。/** * 批量根据经纬度坐标打点 */addPoints(coordinates)原创 2020-07-20 14:53:36 · 6619 阅读 · 23 评论 -
openlayers6【十七】vue VectorLayer矢量图层画地图省市区,多省市区(粤港澳大湾区)效果详解
文章目录1. VectorLayer矢量图层的理解2. openlayers通过坐标点画中国地图2.1 准备边界的 data 数据2.2 准备 china.json 的数据文件3.3 实现区域描边方法详解3.4 完整代码4. 画省,市,区边界,道理一样,只需要换成对应的 geo边界数据文件即可4.1 如:四川省(下载对应的geo json数据)4.2 如:成都市,金牛区(下载对应的geo json数据)5. 画多个省份,或者市区的边界数据1. VectorLayer矢量图层的理解在我们做什么事情之前,如原创 2020-07-20 10:37:57 · 8196 阅读 · 27 评论 -
openlayers6【十六】vue overlay类实现gif动态图标效果详解
前提:openlayer 里面支持 gif 图标上图的只有 overlay类 可以实现。openlayers 不支持 svga 动画图文章目录1. 效果图2. 【核心】创建overlay类,循环点位根据坐标创建div点位3. css设置gif图标4. 完整代码1. 效果图2. 【核心】创建overlay类,循环点位根据坐标创建div点位// 使用Overlay添加GIF动态图标点位信息addGif() { let _that = this; let mainBox =.原创 2020-07-17 14:50:03 · 4571 阅读 · 1 评论 -
openlayers6【十五】地图样式 Style类详解
文章目录1. 写在前面2. ol.style 属性及子类3. ol.style使用栗子1. 写在前面地图样式是由 style 类控制的,其包含了地图样式的方方面面,例如,填充色、图标样式、图片样式、规则图形样式、边界样式、文字样式等,样式一般针对矢量要素图层。了解更多矢量图层可以参考:openlayers6【十三】地图矢量图层 Vector 详解2. ol.style 属性及子类1.1 可以配置的选项/* * @typedef {{ * geometry: (undefined|原创 2020-07-17 10:17:28 · 12780 阅读 · 8 评论 -
openlayers6【十四】ol.proj类实现EPSG:3857和EPSG:4326坐标转换
文章目录1. 写在前面:2. EPSG:4326和EPSG:3857坐标互相转换1. 写在前面:EPSG:3857即投影坐标,EPSG:4326即地理坐标。如果不了解什么是EPSG:3857和EPSG:4326请先看下这篇文章。openlayers6【十】EPSG:3857和EPSG:4326区别详解ol.proj 类主要实现以下功能,说通俗点就是实现坐标转换的类。转换为指定的坐标系坐标坐标系间坐标互相转换转换Extent为指定坐标系2. EPSG:4326和EPSG:3857坐标互相转原创 2020-07-06 10:58:15 · 7170 阅读 · 2 评论 -
openlayers6【十三】地图矢量图层 Vector 详解
文章目录1. 认识什么是矢量地图2. 矢量图层的构成3. 矢量图层的常用参数4. 初始化一个矢量图层5. 总结1. 认识什么是矢量地图在 GIS 中,地图一般分为两大类:栅格地图和矢量地图栅格地图:它们有一个共同特征,就是它们都是由很多个像素组成,像素大小是一致的,行高和列宽是一致的,从这个角度看,一幅遥感影像就像栅格。我们可以把一幅栅格图像考虑为一个矩阵,矩阵中的任一元素对应于图像中的一个点,而相应的值对应于该点的灰度级,数字矩阵中的元素叫做像素。矢量地图:矢量图使用直线和曲线来描述图形,这些图形原创 2020-06-30 15:18:55 · 6507 阅读 · 0 评论 -
openlayers6【十二】vue 切片图层 TileLayer 切换地图底图,图层叠加效果
1. 效果图官方参考文档:https://openlayers.org/en/latest/examples/zoomslider.html2. 使用 ZoomSlider 控件2.1 导入ZoomSlider 控件import { defaults as defaultControls, ZoomSlider } from "ol/control";2.2 向map地图创建一个 ZoomSlider控件即可this.map.addControl(new ZoomSlider());原创 2020-06-04 10:51:30 · 9144 阅读 · 7 评论 -
openlayers6【十一】vue 使用overlay实现弹窗框popup效果
在之前的文章 openlayers6【九】地图覆盖物overlay三种常用用法 popup弹窗,marker标注,text文本 提及到了overlay三种常用方式就说到了popup弹窗效果。本篇文章我们具体详解一个popup是怎么实现的。弹窗效果在地图加载完成后,我们往往需要更多的交互效果,不仅仅局限于地图的缩放和平移,让地图业务更加复杂一点,比如图标打点上图后,我们可以通过点击图标弹窗这个点位的具体信息都是应用场景,下面具体说下怎么利用overlay类实现popup气泡弹窗的吧。文章目录1. po.原创 2020-06-01 17:02:25 · 7910 阅读 · 16 评论 -
openlayers6【十】EPSG:3857和EPSG:4326区别详解
1. 写在前面在openlayers 6【二】Map地图详解,初始化一个map地图 这篇文章中,其实已经涉及到了这一点,就是为什么这里我们要把中心点的坐标用 fromLonLat()方法进行包裹。fromLonLat() 方法是继承自ol.proj 这个类。import { fromLonLat } from "ol/proj";在 openlayers 中创建map时候会有个view 属性,该属性下面会存在一个center属性。这个属性就是设置中心位置的坐标。如果不设置就没有中心,也毫无意义。p原创 2020-05-29 17:53:28 · 38025 阅读 · 22 评论 -
openlayers6【九】地图覆盖物overlay三种常用用法 popup弹窗,marker标注,text文本
文章目录1. 写在前面2. overlay 实现popup弹窗3. overlay 实现 label标注信息4 overlay 实现 text文本信息5. 附上完整代码1. 写在前面常见的地图覆盖物为这三种类型,如:popup弹窗、label标注信息、text文本信息等。上篇讲了overlay的一些属性方法事件等,这篇主要讲overlay三种最常用的案例。更多可以参考上篇内容openlayers6【八】地图覆盖物overlay详解,这两篇会有关联。popup弹窗 基本是经常遇到的需求案例,所有单独给原创 2020-05-29 15:18:33 · 8713 阅读 · 3 评论 -
openlayers6【八】地图覆盖物overlay详解
文章目录1. overlay 简述2. overlay 属性2. overlay 事件4. overlay 方法5. overlay 实例5.1 overlay 实现 windowInfo 弹窗5.2 overlay 实现 label标注信息5.3 overlay 实现 text文本信息1. overlay 简述overlay是覆盖物的意思,顾名思义就是在地图上以另外一种形式浮现在地图上,这里很多同学会跟图层layers搞混淆,主要是放置一些和地图位置相关的元素,常见的地图覆盖物为这三种类型,如:win原创 2020-05-27 11:44:44 · 5607 阅读 · 0 评论 -
openlayers6【七】地图控件controls详解
文章目录1. controls 简述2. 常见的 controls 控件3. 控件的使用3.1 fullscreen 全屏控件3.2 mouseposition 鼠标位置控件3.3 overviewmap 地图全局视图(鹰眼图)控件3.4 scaleline 比例尺控件3.5 zoom 缩放控件3.6 zoomslider 缩放滑块刻度控件4. 总结1. controls 简述上篇文章我们将了在地图上的交互(interaction),那些都是一些隐性的需要去使用才能知道存在有这样一个东西,就像彩蛋一样。原创 2020-05-27 10:50:03 · 7520 阅读 · 1 评论 -
openlayers6【六】地图交互 interaction详解
文章目录1. 什么是地图交互 interaction ???2. 简述地图交互 interaction3. interaction 介绍4. interaction defaults - 默认添加的交互功能5. 栗子:dragrotateandzoom (shift + 鼠标拖拽进行缩放和旋转地图)6. 写在最后1. 什么是地图交互 interaction ???地图交互功能都是不可见的,如鼠标双击、滚轮滑动等,手机设备的手指缩放等。地图的交互功能包含很多,如地图双击放大,鼠标滚轮缩放,矢量要素点选,原创 2020-05-27 09:50:38 · 5753 阅读 · 1 评论 -
openlayers6【五】地图图层数据来源 source 详解
source 数据源都有哪些类型source 用法实例ol.source.Vector 的使用ol.source.Image的使用原创 2020-05-26 17:48:11 · 6825 阅读 · 7 评论 -
openlayers6【四】地图图层Layers详解
文章目录1. 什么是图层???1.1 线状图层1.2 点状图层1.3 面状图层2. 图层存在一个或者多个3. Layers 的常见属性4. Layers 各种图层及图层类型4.1 `Graticule` 地图上覆盖的网格标尺图层4.2 `HeatMap`,热力图层4.3 `Vector`,矢量图层4.4 `Image Layer` 单张图片的矢量图层4.5 `VectorTile Layer`,矢量瓦片图层4.6 `WebGLPoints,WebGL` 渲染的海量点图层5. Layers 事件触发6. 写原创 2020-04-30 16:42:36 · 13329 阅读 · 8 评论 -
openlayers6【三】 地图视图 View 详解
官方文档:https://openlayers.org/en/latest/apidoc/module-ol_View-View.html上篇文章讲到 ,初始化map地图,必备的三要素之一就是视图(view),这个对象主要是控制地图与人的交互,如进行缩放,调节分辨率、地图的旋转等控制。也就是说每个 map对象包含一个 view对象部分,用于控制与用户的交互。1. view 属性center 模组:ol / coordinate〜Coordinate 视图的初始中心。如果未.原创 2020-04-03 11:56:06 · 7196 阅读 · 5 评论 -
openlayers6【二】Map地图详解,初始化一个map地图
openlayers 6【二】vue 初始化map地图详解原创 2020-04-02 16:14:03 · 8815 阅读 · 11 评论 -
openlayers6【一】 简介openlayers背景,优势,如何使用及实际使用场景
openlayers 6【一】 简介openlayers背景,优势,如何使用及实际使用场景原创 2020-04-02 12:44:42 · 7874 阅读 · 8 评论 -
openlayers 删除点 ol/source/Vector.js.VectorSource.removeFeature解决方案
背景:openlayers 实现地图打点,根据数据的变化修改点的位置data// 点的经纬度coordinates: [// { x: 37.12638163, y: 15.1353712537 },// { x: 82.56253054272383, y: 42.63299560546875 },// { x: 87.52801179885864, y: 44.1595512628...原创 2020-03-11 10:06:11 · 9656 阅读 · 4 评论