ol3简介
ol3从根本上进行了重新设计,相对于ol2,他符合现代浏览器的一些设计理念,使用了js新的特性,
initial版本的目的是支持原来ol2的大多数功能,支持公网上流行的缓存切片,支持常见的矢量数据格式。支持多种投影并且加入了一些新的功能如旋转和动画。同时,将来计划实现支持3D地图,使用WebGL显示大量矢量数据。
ol3使用了google的 ClosureTools ,并深度依赖它。通过ClosureTools操作DOM,兼容浏览器。同时使用Closure Compiler进行编译。
ol3通过ClosureTools进行编译的时候可以自定义指定某些模块不编译,用户可以自定义一些轻量级的build。只有被export的函数才会不会被变更名字,其他函数会被ClosureTools进行改名压缩。
ol3支持IE9及其以上版本,矢量数据目前只支持canvas。栅格图层支持canvas,DOM, WebGL三种渲染方式。
ol3是同时为桌面电脑和移动应用设计的。
顶级namespace是ol,次级名字空间小写字母开头,如ol.layer;简单对象也会用小写字母开头,如ol.animation
类型用大写字母开头的单词,如ol.layer.Layer; ol.layer.VectorLayer
源文件组织方式是,以名字空间分文件夹,并且有一个和名字空间一样的抽象类,该文件夹下的其他类均继承自该抽象类。私有函数用下划线开头。
Session 1
zoom是设置分辨率的一种简便方式。zoom level决定于maxZoom,zoomFactor,maxResolution(默认是将当前投影坐标系的可用范围放进一个256X256的图片中时的分辨率)。zoom level为0的时候,每个像素代表的maxResolution的值,后面的zoomlevel通过除以zoomFactor的值进行计算,直到zoom Level等于maxZoom.
例如,maxZoom=5, zoomFactor=2, maxResolution=0.00001
zoomLevel resolution
0 0.000001
1 0.0000005
2 0.00000025
3 0.000000125
4 0.0000000625
5 0.00000003125
数据源:
ol.source.Source,不管是矢量数据(GeoJSON or KML)还是公网上的缓存切片(OpenStreetMap or Bing),还是OGC的标准服务(WMS or WMTS),均通过ol.source.Source的子类进行设置。
图层:
图层是对ol.source的视觉表示,有三种基础的图层.
ol.layer.Tile:是预先渲染好的数据源,通常为缓存切片,它具有指定分辨率的预定义的zoomLevel
ol.layer.Image:一般为一张具有指定矩形范围的图片
ol.layer.Vector:矢量数据,在浏览器中渲染(目前版本只支持cavas)
最新文章
- JavaScript中的面向对象
- [连载]《C#通讯(串口和网络)框架的设计与实现》-3.设备驱动的设计
- Lua字符串库
- linux中shell变量$#,$@,$*,$?,$$,$!,$_,$0,$1,$2的含义解释
- C# WinForm程序向datagridview里添加数据
- C#中的引用传递、值传递
- Zabbix3.0 安装Graphtree
- Hadoop2.7.3分布式集群安装
- 关于BSTR和SysStringLen方法的简单研究
- HDU1197 Specialized Four-Digit Numbers
- Javascript高级编程学习笔记(84)—— Canvas(1)基本用法
- Scale Free Network | 无标度网络
- [HihoCoder1393]网络流三·二分图多重匹配
- python中的3目运算(3元表达式)
- iOS 中strong,weak,copy,assign区别
- 【流媒体】UPnP的工作过程
- 详解SID之终结篇
- 【译】第四篇 Integration Services:增量加载-Updating Rows
- HDF5 文件格式简介
- js 实现数组深度copy