OpenLayers是一个开源的WebGIS库,支持多种地图类型,提供丰富的功能和API,支持多种格式,可以进行空间分析和可视化,还可以制作融合图层和定制地图。
在招聘市场中,OpenLayers的地位也是不可小觑的,能够帮助开发者使网页程序拥有强大的地图功能,用于实施各种项目,包括地理空间搜索、室内分析、地图影像分析和动画模拟等。例如,使用OpenLayers,开发者可以创建支持多个空间图层的互动Web应用程序,可以显示不同底图和支持多种地图操作,比如缩放和平移。此外,开发者还可以在其中添加自定义内容,如文字标签和街景,使Web地图更加完整和生动。
OpenLayers 3介绍
OpenLayers 3简称ol3,它是一个开源的Web GIS引擎,使用了JavaScript、最新的HTML5技术及CSS技术,支持dom
,canvas
和webgl
三种渲染方式。除了支持网页端,还支持移动端(目前移动端还不成熟,有待进一步完善)。在地图数据源方面,支持各种类型的瓦片地图,既支持在线的,也支持离线的。比如OSM, Bing, MapBox, Stamen, MapQuest等等;还支持各种矢量地图,比如GeoJSON,TopoJSON,KML,GML等等。随着OpenLayers 3的进一步发展,将支持更多的地图类型。
不兼容OpenLayers 2
在OpenLayers 3之前,还有OpenLayers 2,虽然从名字上看是一个升级版本,但OpenLayers 3完全是重新设计,采用全新的架构,使用方式及API都不一样,只是在功能上完全实现OpenLayers 2已有的功能。为此,使用OpenLayers 3不必先学习OpenLayers 2。但使用过OpenLayers 2,并不等于直接就会用OpenLayers 3,仍然需要从零开始学习。
浏览器支持
由于OpenLayers 3使用了HTML5技术,所以对各种浏览器的版本有所要求。IE浏览器最低也需要IE9才行,以下的IE浏览器可以考虑使用OpenLayers 2。其他浏览器的最低版本要求为Firefox 3.5,Chrome 3.0,Safari 3.0,Opera 10.5。如果要使用webgl
渲染方式,则又需要参考各大浏览器的支持程度进行选择。
代码规范
-
OpenLayers 3采用面向对象的编程范式,类在API中随处可见,比如
ol.Map
,ol.View
等等。如果你有面向对象的思维,将较为容易的理解API及使用。 -
OpenLayers 3采用包管理的方式管理代码,比如
layer
的包名为ol.layer
,命名方式类似于JAVA的包名。这源于OpenLayers 3采用了Google的Closure库。 -
OpenLayers 3采用驼峰式(Camel-Case)命名,变量名采用小驼峰命名,类名使用大驼峰命名。
资源
OpenLayers 3的官网是http://openlayers.org/,若记不住,请保存到收藏夹。在官网首页上,即可看到相关的介绍,文档,API,以及Examples链接。这些资料都跟随最新的版本实时更新,如果发现本教程有些内容和官方不一致,请以官网资料为准,可能由于版本更新导致的。
喜欢研究源码的开发者,请关注github https://github.com/openlayers/ol3。有能力者,可以考虑为OpenLayers 3提交PR和issue,不过在此之前请先阅读贡献文档
OpenLayers学习文档
1. OpenLayers 3 介绍
2.一个简单的地图
3.OpenLayers 3地图
3.1.初步解析地图组成
3.2.地图所有组成部分
3.3. 看懂API
3.4.结合API文档分析代码
3.5.ol.Map的应用
3.5.1.定制地图l0go
3.5.2.单页面多地图
3.5.3.地图联动
3.5.4.动态交换地图
4. View
4.1.地图导航
4.2.坐标
4.3.坐标系及投影
4.4.OpenLayers 3使用的坐标系
4.5.ol.View的应用
4.5.1.限制地图范围
4.5.2.限制地图缩放级别
4.5.3.自适配区域
5.Source和Layer
5.1.加载瓦片地图
5.1.1.最简单的加载在线地图
5.1.2.万能瓦片地图加载秘籍
5.1.3.加载离线瓦片地图
5.1.4.瓦片加载的源码浅析与小结
5.2.静态地图及应用
5.3.加载WMS服务地图
5.4.矢量地图
5.4.1.获取加载后的所有feature
5.4.2.坐标转换
5.4.3.样式设置
5.5.5图层叠加及管理
6.LOD与分辨率
6.1.LOD原理
6.2.瓦片计算
6.3.分辨率
6.4.自定义瓦片地图及加载
7.图标及提示信息
7.1.应用overlay
7.2.动画图标
7.3.style及应用
7.3.1.设置图标位罟
7.3.2.根据层级放大缩小图
7.3.3.另类设置svg图标
7.3.4.规则几何体图标
7.3.5.用Canvas自绘图标
7.3.6.动态改变图标
7.3.7.文字标注
7.4.styleFunction应用
7.5.大量图标方案
7.6.提示信息
8. 事件
8.1.一个简单的事件应用
8.2.注销事件响应
8.3.常用事件
8.4.自定义事件及应用
9.Interaction
9.1.内置交互方式介绍
9.2.实现原理
9.3.Feature选取之选中样式
9.4.Feature选取之条件过滤
9.5.Feature选取之取消选中
9.6.绘制一条线
9.7.绘图进阶
9.8.总结
10. Control
10.1.控件概览
10.2.探究控件原理
10.3.控件美颜
10.4.自定义控件
11.动画
11.1.动画简单应用
11.2.动画高阶应用
11.3.利用postcompose事件做动画
12.进阶实例
12.1.通过wfs增删改查要素
12.1.1.GeoServer环境配置
12.1.2.配置数据源
12.1.3.通过wfs查询要素
12.1.4.通过ws修改要素
12.1.5.通过ws添加要素
12.1.6.通过wfs删除要素
13.常见问题、注意事项
更多OpenLayers学习网址合集
1、Openlayers官网
https://openlayers.org/
2、Openlayers示例集锦
http://develop.smaryun.com:81/API/JS/OL3InterfaceDemo/index.htm
3、Openlayers 3加载XYZ示例
https://www.jianshu.com/p/a4c1fe2a1e40
4、Openlayers4实例
http://api.rivermap.cn/openlayers4/map.min.html
5、OpenLayer3读取Geoserver切割的离线瓦片
https://blog.csdn.net/u013323965/article/details/52268113
6、OpenLayer+PostGIS+GeoServer--无额外后台实现地理分析与查询框架
https://blog.csdn.net/u011365716/article/details/54406755
7、ol4中实现只能查看用户权限所在区的地图
https://www.jianshu.com/p/6fa1110e51b8
8、喜欢研究源码的开发者,可以关注:
https://github.com/jacksplwxy/openlayers
https://github.com/haiyang679/WebGIS-Openlayers-2-
9、OpenLayers入门教程汇总目录
https://www.cnblogs.com/notomcat/p/17599706.html
《WebGIS之OpenLayers全面解析》
OpenLayers作为业内使用最为广泛的地图引擎之一,已被各大GIS厂商和广大WebGIS二次发者采用。借助OpenLayers强大的扩展功能,可以实现与各个不同的WebGIS平台产品相结合,发出各具特色的WebGIS应用系统。
▼本书主要内容涵盖:
-
WebGIS发基础
-
OpenLayers发基础
-
OpenLayers快速门
-
OpenLayers之多源数据加载
-
OpenLayers之图形绘制
-
OpenLayers之OGC
-
OpenLayers之高级功能
-
最后给出了OpenLayers之项目实战——水利信息在线分析服务系统。
OpenLayers视频学习教程
OpenLayers视频教程
openlayers资料分享https://docs.qq.com/doc/DRmxxaVhpbGJXSGho?u=5295a88d71d8480d971da4e3334ee913
▼能够学到什么
1、通过本课程掌握ol-api的调用
2、使用ol结合高德api实现 数据展示
3、在之后的开发中,能够结合自己的项目,使用ol实现一些定制化的需
总之,在招聘市场,如果你具备或者擅长OpenLayers技术,一定更具职业优势和竞争优势。