openlayer3 简介

官网api页面链接

官网已更新至v4.6.4版本;

ol升级到3及4以后,较之ol2变化比较大,更改了先前js编码规范;

本篇只说一些应用,无关乎源码实现;

ol3开始,不再支持ie8,如果需要支持ie9,可以添加一个标签(主要是ie9不支持css3的requestAnimationFrame方法及classList属性):

<script src="https://cdn.polyfill.io/v2/polyfill.min.js?features=requestAnimationFrame,Element.prototype.classList"></script>

流程图

这是个人理解的ol大致结构图,省略了一些没有用到过或者是ol4后续更新的;

基础对象:
1、ol.Collection:封装的基本集合对象,可以和Array对象互转;
2、ol.Coordinate:基本坐标对象([x, y]),数组;
3、ol.Extent:可以理解为区间对象([minx, miny, maxx, maxy]),字面含义;
4、ol.Object:基本对象,类似基本Object对象;
5、ol.Color:基本颜色对象,接受数组形式、rgb形式、rgba形式及英文单词形式(red…);
基础方法:
1、ol.coordinate:提供基本格式化方法和旋转方法;
2、ol.extent:提供对图层数据源、坐标集合计算Extent方法及基本空间分析方法;
3、ol.color:颜色的字符串形式和数组形式互转;
4、ol.proj:不同投影坐标系之间的数据互转;
5、ol.Sphere:提供对球面状态下的距离及面积计算方法;
6、ol.easing:基本动画;
7、ol.Observable:基本渲染事件的监听;
8、ol.render.canvas.immediate:canvas下动画画布;
等等。。
交互控件:
1) interaction
1、ol.interaction.Draw:添加要素;
2、ol.interaction.Modify:修改要素;
3、ol.interaction.Select:选择要素;
4、ol.interaction.Extent:拉框放大缩小地图;

等等。
2) control
1、ol.control.Zoom:放大缩小按钮;
2、ol.control.Rotate:旋转地图状态按钮;
3、ol.control.ScaleLine:比例尺;
4、ol.control.MousePosition:鼠标位置;
5、ol.control.OverviewMap:鹰眼地图;
等等。。
展示控件:
1、ol.Overlay:dom元素(div),可以跟随地图移动,随意动态改变其内容、位置;
图层(layer):
图层是分层展示,类似div的层,他是地图展示方面的基本载体;
图层可以是普通的瓦片图(image),也可以是矢量图(vector),或者热力图(Heatmap)等等
图层需要数据源,某种类型的图层针对某种类型的数据源;
图层数据源种类较多,有聚合数据源(cluster),图片数据源(image),栅格数据源(raster),瓦片数据源(tile)、矢量数据源(vector)等等。
Feature:矢量数据源(vector)的构成,其具有空间属性、基本属性及样式属性;
Geometry:图形,feature的空间属性,分为点(Point)、线(LineString)、环(LinearRing)、面(Polygon)和圆(Circle)组成;
Style:样式,feature的样式属性,对不同geometry有不同的用法(text类型为文字属性):
点:image;
线:stroke;
面:fill+stroke;
Format:数据格式化筛选方法,本人只用过将GeoJSON、KML和WKT格式转化为基本Feature要素方法;

视图窗口(view):

视图主要提供中心点、缩放等级、旋转角度等信息;其中缩放等级又对应每个等级下的分辨率(resolution);

转载自:https://blog.csdn.net/y1273015478/article/details/79024635

You may also like...