目前已完成284个示例
openlayers综合教程 示例300+ 旨在为开发者提供简单快捷的代码示例,复制即可用。在每一个示例中,都凝练着简明扼要的代码,做到简易实现,轻松学会。
示例的相关数据文件
请移步到 https://github.com/dajianshi/test-datas 下载
文章目录
- 一、基础信息(配置、数据格式)
- 二、综合应用
- 三、Map 篇(属性、事件)
- 四、View 篇(extent,坐标系,zoom,Resolution,同view、方法)
- 五、Layers 篇(底图、geoserver、切换地图、解决问题、设置、图层组 )
- 六、Sources 篇(监听、上传、导出、加载、Feature)
- 七、Controls篇(基础、扩展、测量、清除)
- 八、Interactions篇(draw、modify、select、其他、扩展)
- 九、Geom 篇(点、线、圆、椭圆、多边形、集合)
- 十、Overlay 篇
- 十一、Style 篇(静态、动态、其他)
- 十二、动画交互(线段轨迹、定点动画、移动动画)
- 十三、与 canvas、echart,turf 等交互
- 十四、性能优化
一、基础信息(配置、数据格式)
编号 | 功能 | 示例链接 |
---|---|---|
001 | 配置 | 从0到1搭建vue+openlayers基础开发环境 |
003 | 数据 | 认识常用的10多种数据格式 |
二、综合应用
三、Map 篇(属性、事件)
四、View 篇(extent,坐标系,zoom,Resolution,同view、方法)
编号 | 功能 | 示例链接 |
---|---|---|
098 | extent | set extent 和 fit extent 的扩展实例 |
239 | extent | 设置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 |
093 | zoom | 设置zoom范围,最大值和最小值 |
094 | zoom | 根据zoom的不同,显示不同的地图 |
225 | zoom | zoom大于5弹窗,点击关闭放大不再弹出;zoom小于5后再大于5,继续弹窗 |
117 | zoom | 实时zoom,显示左下、左上、右上、右下的坐标 |
274 | zoom | 点图标的大小随着zoom的放大缩小而变化 |
102 | 同view | 共享view,同步两个地图 |
114 | 同view | 实现视图联动功能 |
101 | Resolution | 根据Resolution的不同,显示不同的地图 |
275 | Resolution | 点图标的大小随着分辨率 Resolution而变化 |
261 | 方法 | 使用setRotation旋转地图 |
五、Layers 篇(底图、geoserver、切换地图、解决问题、设置、图层组 )
六、Sources 篇(监听、上传、导出、加载、Feature)
七、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、其他、扩展)
九、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 篇
编号 | 示例链接 |
---|---|
050 | Popup坐标信息新方法(引用扩展版) |
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 等交互
编号 | 功能 | 示例链接 |
---|---|---|
042 | canvas | 添加 canvas 心形遮罩效果 |
245 | canvas | 利用canvas绘制边线纹路 |
043 | canvas | 使用canvas,实现探照灯效果 |
044 | canvas | canvas clip实现上卷帘效果 |
045 | canvas | canvas clip实现左卷帘效果 |
227 | canvas | 自定义js横向卷帘,图层名称跟着分割线移动 |
226 | canvas | 利用swipe插件实现左卷帘功能 |
096 | canvas | 使用canvas个性化圆形 |
138 | canvas | 绘制矩形,截取对应部分的地图并保存 |
106 | canvas | 图片分解,颜色块渲染 |
172 | turf | 对矢量多边形进行旋转、平移、放缩处理 |
171 | turf | 获取两个多边形的交集、差集、并集 |
170 | turf | 绘制地图上多个点的信封envelope矩形 |
169 | turf | 根据多边形坐标,获取面积值 |
241 | turf | 绘制多边形,计算面积值 |
168 | turf | 绘制线段并生成贝塞尔曲线 |
167 | turf | 获取两点之间的距离,非getLength方法 |
166 | turf | 利用turf绘制椭圆形 |
165 | turf | 利用turf实现遮罩挖洞效果 |
157 | echarts | 地图上添加Echarts饼图 |
158 | echarts | 地图上Echarts模拟飞机循环飞行 |
159 | echarts | 地图上添加Echarts环形图 |
160 | echarts | 地图上添加Echarts柱状图 |
十四、性能优化
编号 | 示例链接 |
---|---|
090 | 探究加载能力的极限,100万个点? |
135 | 添加海量点,使用 WebGLPoints 方法 |
230 | 使用WebGLPoints显示数据,根据某属性值的不同阈值显示不同颜色点 |
260 | vue+openlayers 通过webgl方式加载矢量图层 |
259 | vue+openlayers: 显示海量多边形数据,10ms加载完成 |
081 | 抽稀算法,减少中间点数,显示新的轨迹 |