这个是真的学习笔记!不是教程html
基于openlayers 6.xjava
api不太好查,就基于腾讯课堂老胡的课作记录。webpack
openlayers与arcgis jsapi最大的不一样,喜欢用setXXX/getXXX这种很是具备“java/C++”风格的封装方法来封装对象的属性,arcgis jsapi喜欢用相似于C#.NET同样的属性访问;构造时则与arcgis jsapi同样。es6
ol支持很是复杂的坐标系(经过proj4支持),仅支持2d,支持使用npm&webpack进行包管理,系原生sdk(arcgis jsapi基于dojo封装),ol5/6支持es6语法。web
ol支持二维数据格式不少,能够是ogc规范的网络GIS数据服务,能够是独立的数据文件等;ol支持空间分析扩展,例如d3/turf/jsts。npm
与arcgis jsapi不一样,ol的map对象占据了很是高的位置canvas
在ol5中,当Map模块不足以支撑海量数据时,须要用WebGLMap模块来加速。在ol6里默认使用WebGL,不存在WebGLMap模块。api
视图的意思,负责管理页面端的视图参数:性能优化
ol的数据由layer管理、加载。
layer(图层)是数据的容器,它负责把别处弄来的数据源(source)“翻译”成map能渲染的东西。
常见图层
常见数据源
有了数据,固然还要给数据加点嫁妆。由第2节得知,style(样式)由图层管理。
格网、导出pdf也是制图的一部分
包括ol.interaction这个交互模块对数据进行交互,也包括前端交互的效果(跳转、限制等)
全部的坐标系概念、定义有关的类均位于ol.proj模块下。
其中,ol.proj.Projection类表明坐标系统自己的定义,一般使用ProjectionLike字符串来表示。ProjectionLike的意思是相似"EPSG:XXXX"的字符串,EPSG这个专有词必须大写,XXXX表明的是坐标系的WKID。
主要提供坐标系的转换等操做,默认是4326和3857的转换。
须要引入proj4.js库,经过调用其register方法为页面注册一个ol自己没有的坐标系。
将proj4全局变量传递给register()方法后,ol即获取一个自定义坐标系。proj4全局变量经过defs()方法注册一个坐标系。
能够从各类手段获取第三和第四层数据,及要素、要素对应的几何与属性数据。
这里确定有WebGL和canvas,可是我不太会也不太擅长。
这部分属于定制、扩展的功能