openlayers全面教程284+【目录】

这是一份全面的OpenLayers教程,包含300多个实战示例,涵盖了交互操作、文件处理、地图控制、元素样式等多个方面,旨在帮助开发者快速掌握OpenLayers的使用。
摘要由CSDN通过智能技术生成

在这里插入图片描述

目前已完成284个示例

openlayers综合教程 示例300+ 旨在为开发者提供简单快捷的代码示例复制即可用。在每一个示例中,都凝练着简明扼要的代码,做到简易实现,轻松学会

示例的相关数据文件请移步到 https://github.com/dajianshi/test-datas 下载

一、基础信息(配置、数据格式)

编号功能示例链接
001配置从0到1搭建vue+openlayers基础开发环境
003数据认识常用的10多种数据格式

二、综合应用

编号示例链接
089双向互动—列表与图层互相提示位置信息
232 选择左右两部分的地图,不重复,横向卷帘
083 实现地图地点搜索定位功能
084 简单实现聚合数据示例
086 显示indoor的各个楼层的商铺信息
080 获取使用者当前的地理位置
249 利用mapbox将经纬度坐标转化为地址信息,点击后在弹窗显示
184 设置时间显示白天黑夜交替图
148控制蒙版层显示隐藏,蒙版中部挖空显示下面地图信息
194根据卫星lat,lon,alt,俯仰角,方位角,绘制地面的拍摄的区域
207动态位置高度角度,模拟卫星地面覆盖区域的大小
206圆孔相机根据卫星经度、纬度、高度、半径比例推算绘制地面的拍摄的区域
256利用高德逆地理编码,点击地图,弹出某点坐标和地址信息

三、Map 篇(属性、事件)

编号功能示例链接
079事件 点击旋转loading,postrender 渲染后取消 loading
057事件postrender 事件 地图图像的滤镜处理
156事件postcompose 设置地图的原始图、模糊效果、色相翻转、阴影效果
155事件postcompose 设置地图的反转色、复古色、灰度图、原始图
154事件postcompose 调节地图的明亮度、对比度、饱和度
058事件 moveend 事件获取地图左上和右下的坐标信息
059事件 singleclick 事件示例-选择feature设置成特定的颜色
111事件 通过singleclick 选择元素,更换样式
048事件 click 事件示例-显示企业名片
139事件 click某点,获取当前坐标-多层重叠下的所有features信息
060事件 dblclick 事件示例-显示品牌代言人信息
049事件 pointermove 事件示例-显示城市名片
116事件事件 loadstart 和 loadend 的示例
131事件右键:去掉默认右键菜单,rightclick获取feature信息
140事件右键 点击定位,获取某一点下多层features信息
082事件右键:引用插件处理右键弹出菜单,执行功能

四、View 篇(extent,坐标系,zoom,Resolution,同view、方法)

编号功能示例链接
098extentset extent 和 fit extent 的扩展实例
239extent设置extent:bbox,限制瓦片图的加载范围,不加载空白瓦片
264坐标系 坐标转换 WGS84-GCJ02-BD09
263坐标系高德地图坐标转换 WGS84-GCJ02
002坐标系 3857坐标系和4326坐标系
129坐标系 EPS3857,4326,900913,CRS84坐标系 extent范围
097坐标系非4326,3857的投影示例
174坐标系经纬度坐标与屏幕坐标pixel转换,transformExtent将区间坐标由4326转换为3857
093zoom设置zoom范围,最大值和最小值
094zoom根据zoom的不同,显示不同的地图
225zoomzoom大于5弹窗,点击关闭放大不再弹出;zoom小于5后再大于5,继续弹窗
117zoom实时zoom,显示左下、左上、右上、右下的坐标
274zoom 点图标的大小随着zoom的放大缩小而变化
102同view共享view,同步两个地图
114同view实现视图联动功能
101Resolution根据Resolution的不同,显示不同的地图
275Resolution 点图标的大小随着分辨率 Resolution而变化
261方法 使用setRotation旋转地图

五、Layers 篇(底图、geoserver、切换地图、解决问题、设置、图层组 )

编号功能示例链接
008底图加载google地图(多种形式)
126底图加载谷歌地图(另一种URL形式)
004底图加载OpenStreetMap地图
005底图加载mapbox地图
258底图加载mapbox-style的地图
006底图加载baidu地图
007底图加载arcGIS地图
009底图加载高德地图(多种形式)
010底图加载天地图(多种形式)
011底图加载bing地图(多种形式)
012底图加载Stamen地图(多种形式)
013底图加载maptiler地图(多种形式)
253底图 加载HERE多种地图(v2软件版本)
254底图加载HERE多种地图(v3软件版本)
255底图加载tomtom地图(多种形式)
112底图加载静态图片,变成地图一部分
248底图以静态图片作为底图,并在上面绘制矢量多边形
115底图加载XYZ形式的基础地图
095底图添加地图网格线示例
257底图实现动态点点网格地图
177底图加载多种形式Esri地图
125问题解决点击按钮,解决弹窗中的地图不显示的办法
173问题解决 解决国内openstreetmap地图加载不出来的问题
110切换 利用setSource来显示隐藏地图
151切换 根据visible的值来更换底图,图片切换方式
052切换 根据visible的值来更换底图,radio切换方式
051切换 使用layerswitcher切换图层
077geoserver加载geoserver发布的遥感影像,开启关闭AOI及影像示例
118geoserver加载geoserver普通layer的数据示例
119geoserver加载geoserver的Tile caching中的数据示例
214geoserver加载geoserver数据,使用ImageWMS和ImageLayer呈现图形
221geoserver 加载geoserver瓦片WMS数据,使用getFeatureInfoUrl获取瓦片数据信息
213geoserver通过WFS服务加载geoserver发布的geojson矢量数据
215geoserver使用new WFS加载数据,通过like,and,equalTo来过滤数据
132layer设置显示设置图层的层级数 zIndex
130layer设置清除所有图层的有效方式
100layer设置普通加载vector图层,根据设定名称添加移除图层
107layer设置使用declutter,避免文字标签重叠
153layer设置设定修改图层的透明度
266layer设置更改layer透明度,并用 change:opacity 进行监听获取值
197layer设置预加载preload瓦片地图,减少过渡期间的空白区域
143蒙版遮罩做蒙版过滤处理,实现剪切、遮罩效果
144蒙版遮罩画多边形,任意编辑,并做遮罩剪切处理
113图层组动态添加layer到layerGroup,并动态删除
147图层组从LayerGroup中添加删除Layer,显示、隐藏图层组

六、Sources 篇(监听、上传、导出、加载、Feature)

编号功能示例链接
208监听 监听瓦片地图加载情况,200、403及其他状态码的处理示例
033上传上传KML文件,并在地图上展现
034上传上传KMZ文件,并解析在地图上
035上传上传GeoJSON文件,并解析在地图上
036上传本地上传shp文件,并解析在地图上
037上传上传包含shp的zip文件,解析并地图显示
091上传上传解析文件,支持.geojson .kml .shp格式
189上传上传CSV文件,导出Geojson格式文件
240上传上传CSV文件,在地图上显示信息
217上传上传GPX文件,导出geojson文件
188上传上传GeoJSON文件,导出CSV格式文件
038导出 导出地图(image文件)
039导出导出地图(pdf格式)
040导出 导出GeoJSON格式文件
242导出 绘制点,导出CSV文件
041导出 读取WKT数据,导出GML、Polyline、GeoJSON
162导出 使用draw绘制多边形,导出KML文件,自定义name和style
163导出 根据polygon信息显示多边形,导出KML文件,自定义name和style
164导出 3857坐标系项目下导出KML文件,自定义name和style
178导出 绘制自定义图形,导出为geojson文件
201导出加载geojson文件形成围栏,可添加、修改、删除feature,导出geojson
217导出上传GPX文件,导出geojson文件
188导出上传GeoJSON文件,导出CSV格式文件
189导出上传CSV文件,导出Geojson格式文件
121加载加载JSON数据示例(显示中国边界线 4326)
022加载加载JSON数据示例(显示中国边界线 3857)
250加载加载geotiff文件,并在地图上显示
218加载加载geotiff文件,显示图形
251加载加载geotiff的瓦片数据
024加载加载远程KML数据示例
023加载加载本地KML数据示例,解决KML文件不显示问题
025加载加载WKT数据,显示图形
041加载加载WKT数据,输出GML、Polyline、GeoJSON
118加载加载WMS数据示例(geoserver)
026加载加载WMTS数据,显示图形
027加载加载远程shp数据,并在map上显示图形
234加载加载本地shp数据,并在map上显示图形
028加载加载热力图一(加载geojson数据)
195加载加载热力图二(引用geoJSON数据,可以调节半径大小和模糊程度)
279加载使用readFeatures加载GeoJSON文件
122加载URL模式加载GeoJSON文件,注意跨域问题
029加载使用MVT格式读取矢量瓦片数据
030加载加载WKB数据,显示图形
031加载加载GPX数据,显示图形
216加载加载GPX数据,导出geojson文件
032加载加载CSV数据,显示图形
212加载点击拖动地图播放mp3音频
099feature根据 feature来适配到相应的地图窗口
149feature绘制矩形,显示首尾点和中心点坐标值,同时获取所有点的经纬度
139feature单击某点,获取当前坐标-多层重叠下的所有features信息
140feature右键点击定位,获取某一点下多层features信息
131feature去掉默认右键菜单,rightclick获取feature信息
066feature 画各种图形并获取各对应的feature信息
076feature选取feature,平移feature
191feature选择feature,固定按钮删除selected feature
192feature选择feature,动态弹窗按钮,删除所选feature
193feature多边形的绘制,编辑feature,删除所选feature和清空功能
196feature滑动某feature高亮,修改此feature的样式
198feature解决drawend后不能获取当前feature的方法
199feature添加删除修改feature信息,双向不同颜色指示互动,固定删除按钮
205feature 点击某feature,列表滑动,定位到相应的点的列表位置
200feature 添加删除多边形,modify feature,双向互动颜色显示
201feature加载geojson文件形成围栏, 可添加、修改、删除feature,导出geojson

七、Controls篇(基础、扩展、测量、清除)

编号功能示例链接
014基础添加比例尺功能
015基础添加鹰眼功能
267基础 关于OverviewMap出现透明问题的多种测试及临时解决办法
016基础修改自定义地图版权信息
204基础学习Attribution各种API,示例展示自定义版权信息
017基础添加旋转地图功能
018基础自定义地图放大缩小按钮(zoom)功能
019基础添加缩放滑块控件ZoomSlider
021基础显示鼠标经纬度信息
123基础动态显示鼠标位置坐标2
020基础添加全屏显示功能
280基础 自定义上下左右移动键
222扩展 实现云雾缭绕,白鸽飞翔的效果
141测量 测量距离和面积(20行核心代码简化版)
070测量 测量距离和面积(引用封装代码版)
092测量自定义组件(放大、缩小、长度测量、面积测量)
169测量根据多边形坐标,利用turf获取面积值
167测量 利用 turf 获取两点之间的距离
142测量 测量长度和面积,modifyend后更改数值
273测量 显示流动轨迹并计算航向
272测量 显示流动轨迹并计算流动速度
124清除清除所有控件,按需添加Control
265清除一次性清除所有控件(亲测好用)

八、Interactions篇(draw、modify、select、其他、扩展)

编号功能示例链接
179draw 绘制点,判断它是否在一个电子围栏之内
180draw 模仿共享单车,判断点是否放在规划的电子围栏内
231draw 绘制点、点击此点弹出坐标复制和取消功能
068draw 直接画带有箭头的线段
063draw 使用draw画自由线段、自由多边形
235draw绘制带有径向渐变填充色的圆形
061draw 使用draw画点、线、圆、多边形
062draw 使用draw画正方形、矩形、六芒星
136draw 绘制正三角形,正方形,正五边形…
238draw 绘制扩展,弓形、曲线、扇形、双箭头、进攻方向…
209draw 绘制矩形,拖拽编辑Modify后仍然为矩形
138draw绘制矩形,截取对应部分的地图并保存
137draw利用createBox(),绘制矩形
161draw 绘制多边形,限定最小边数和最大边数
237draw绘制多边形,生成geojson数据,计算出面积
145draw根据坐标点数组值,绘制多边形,显示面积数
246draw绘制多边形,drawend获取最大幅宽
133draw 绘制draw多边形,并modify编辑图形
224draw 绘制一个多边形,避免线段交叉,drawend有交叉提示并重绘
128draw 绘制矩形,drawend取消绘制锚点,屏蔽双击放大事件
198draw解决drawend后不能获取当前feature的方法
228draw绘制多边形,drawend获取到多边形的所有点坐标
233draw 绘制渐变填充色的圆形、多边形
133modify 绘制draw多边形,并modify编辑图形
209modify 绘制矩形,拖拽编辑Modify后仍然为矩形
134modify编辑事件 modifystart 和 modifyend
055selectselect-modify-snap功能示例
191select select feature,删除 selected feature
152其他 Link:地图状态与 URL 同步交互,显示地图中心点、放缩级别、旋转角度等
127其他 MouseWheelZoom:控制条件-使用CRTL控制map拖拽和鼠标滚动
243其他 MouseWheelZoom:更改鼠标滚轮缩放地图大小,每次缩放小一点
072其他 DragPan:拖拽实现放大区域的效果
073其他DragZoom:拖拽实现放大区域的效果
074其他DragRotateAndZoom:按住shift 拖拽,旋转放缩地图
075其他Drag-and-Drop:拖拽文件解析显示图形
076其他Translate:选取feature,平移feature
223扩展 实现探照灯效果
185扩展 引用 hover 插件,展示各种鼠标cursor样式

九、Geom 篇(点、线、圆、椭圆、多边形、集合)

编号示例链接
166 根据坐标利用 turf 绘制椭圆形
064 聚合:根据坐标显示点、线、圆、多边形
278 根据半径、起始角度、中心点绘制弧线
277 EPSG:3857投影下绘制半径为10Km的圆形
276 EPSG:4326投影下绘制半径为10Km的圆形
281 利用 Point 显示点
282 利用 LineString 显示线段
269 利用 MultiPoint 显示多点
268 利用 MultiLineString 显示多段线段
270 利用 MultiPolygon 显示多个多边形
271 Collection的应用方法演示
247 根据坐标显示多边形(3857投影),计算出最大幅宽
236 输入经纬度坐标,校验并在地图上标记点,enter提交
211 矢量图形的剪切、复制和粘贴
210 编辑矢量图形(放缩、平移、变形、旋转)
108 实现多个图形的合并、交叉、差集等功能

十、Overlay 篇

编号示例链接
050Popup坐标信息新方法(引用扩展版)
053使用overlay的setPosition来定位弹窗
054经纬度动态赋值(EPSG:3857)
049移动鼠标显示城市名片
048点击鼠标显示企业名片
060双击鼠标显示品牌代言人信息
047双击鼠标显示品牌代言人名片
046鼠标点击point,弹出窗口播放视频
105 引用组件来添加marker

十一、Style 篇(静态、动态、其他)

编号功能示例链接
104静态 配置Icon和text的参数
229静态 解决setText不能立即更新文字的问题
065静态 显示不同颜色的点
087其他 地图中间位置闪烁点动画(封装代码版)
069静态 开发闪闪发光的点划线
244静态 显示滚动效果的线段Line
183静态 设置线段样式:粗细、渐变颜色、箭头及线头样式
150静态 多边形拐点用不同形状表示(圆形、三角形、矩形、正方形、星形…)
146静态 画多边形,每个转折点style用圆点标识
182静态 使用d3实现地图区块呈现不同颜色的效果
176静态 给feature填充pattern模式颜色
175静态 给feature填充渐变色(线性)
252静态 给feature填充锥形渐变色
181静态加载解析geojson文件,给每一个feature(非整体)添加线性渐变颜色
235静态 绘制带有径向渐变填充色的圆形
202静态 easing的API及在view.animation中使用示例
203静态 地图旋转移动动画、CSS缩放动画,介绍animate的使用方法

十二、动画交互(线段轨迹、定点动画、移动动画)

编号功能示例链接
081线段轨迹 抽稀算法,减少中间点数,展示新的轨迹
067线段轨迹 显示带箭头的路线轨迹,箭头居中
273线段轨迹 显示流动轨迹并计算航向
272线段轨迹 显示流动轨迹并计算流动速度
085定点动画 使用gifler加载gif动画示例
220定点动画 加载动画,采用css的@keyframes方式
219定点动画 加载gif文件,采用CSS设置gif背景的方式
203定点动画地图旋转移动动画、CSS缩放动画,介绍animate的使用方法)
109移动动画 定位动画(平移-弹性平移-飞行)
202移动动画 easing的API及在view.animation中使用示例
071移动动画 利用屏幕坐标,实现轨迹路线动画
186移动动画 小汽车移动轨迹动画,带开始、暂停、结束控制键
187移动动画 带开始、暂停、结束控制的轨迹动画,路过后轨道呈现不同颜色
088移动动画 动态计算并显示单个卫星的位置及轨迹(EPSG:4326)
103移动动画 根据两行根数计算并显示卫星轨迹(EPSG:3857)
190移动动画 调整卫星运动的播放速度,展示运动轨迹(EPSG:3857)
056移动动画 实现风场快速移动效果
078移动动画 游龙动画效果
120移动动画 动态曲线流动图,类似Echarts迁徙状态
222移动动画 实现云雾缭绕,白鸽飞翔的效果

十三、与 canvas、echart,turf 等交互

编号功能示例链接
042canvas添加 canvas 心形遮罩效果
245canvas利用canvas绘制边线纹路
043canvas使用canvas,实现探照灯效果
044canvascanvas clip实现上卷帘效果
045canvascanvas clip实现左卷帘效果
227canvas自定义js横向卷帘,图层名称跟着分割线移动
226canvas利用swipe插件实现左卷帘功能
096canvas使用canvas个性化圆形
138canvas绘制矩形,截取对应部分的地图并保存
106canvas 图片分解,颜色块渲染
172turf对矢量多边形进行旋转、平移、放缩处理
171turf获取两个多边形的交集、差集、并集
170turf绘制地图上多个点的信封envelope矩形
169turf根据多边形坐标,获取面积值
241turf绘制多边形,计算面积值
168turf绘制线段并生成贝塞尔曲线
167turf获取两点之间的距离,非getLength方法
166turf利用turf绘制椭圆形
165turf利用turf实现遮罩挖洞效果
157echarts地图上添加Echarts饼图
158echarts地图上Echarts模拟飞机循环飞行
159echarts地图上添加Echarts环形图
160echarts地图上添加Echarts柱状图

十四、性能优化

编号示例链接
090 探究加载能力的极限,100万个点?
135 添加海量点,使用 WebGLPoints 方法
230 使用WebGLPoints显示数据,根据某属性值的不同阈值显示不同颜色点
260 vue+openlayers 通过webgl方式加载矢量图层
259 vue+openlayers: 显示海量多边形数据,10ms加载完成
081 抽稀算法,减少中间点数,显示新的轨迹
评论 150
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

还是大剑师兰特

打赏一杯可口可乐

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值