OpenLayers是一个用于开发WebGIS客户端的JavaScript包, 最初由MetaCarta公司开发,通过BSDLicense发行。 OpenLayers是一个开源的项目,其设计之意是为互联网客户端提供强大的地图展示功能, 包括地图数据显示与相关操作,并具有灵活的扩展机制。 目前OpenLayers已经成为一个拥有众多开发者和帮助社区的成熟、流行的框架。
OpenLayers采用纯面向对象的JavaScript方式开发, 同时借用了Prototype框架和Rico库的一些组件。 而应用于Web浏览器中的DOM(文档对象模型)也由JavaScript实现, 因此,基于OpenLayers开发的WebGIS不依赖于Web浏览器, 具有跨浏览器特性。同时,OpenLayers实现了类似于Ajax的无刷新功能, 可以结合很多优秀的JavaScript功能插件,带给用户更多丰富的交互体验。
在地图数据以服务方式提供的前提下, OpenLayers实现访问地理空间数据的方法符合行业标准, 支持各种公开的和私有的数据标准和资源。 OpenLayers支持OGC制定的WMS、WFS等网络服务规范, 可以逋过远程服务的方式,将以OGC服务形式发布的地图数据加载到OpenLayers客户端中显示。 目前,OpenLayers所支持的数据格式有XML、JSON、GML、GeoRSS、KML、WFS、WKT(Well-KnownText)等, 在其Format命名空间下的各个类里实现了具体读/写这些Format的解析器。 因此,基于OpenLayers能够利用的地图资源非常丰富,提供给用户最多的选择, 包括公共地图服务,如OpenStreetMap、Google、Bing、Yahoo、Baidu等, OGC资源(WMS、WMTS、WFS…),其他矢量数据及简单的图片等。
在采用JavaScript纯客户端开发的WebGIS项目中, 我们可将OpenLayers作为功能库引用,在HTML文档中调用其提供的类, 以及类的属性和方法,从而实现互联网地图发布与功能操作。 目前,OpenLayers官方发布了OpenLayers3版本,相对于OpenLayers2.x的版本, 新版本己经重构并且命名规则也发生了变化。 因此,本教程主要针对OpenLayers3进行介绍,对其应用进行详细解析, 希望能够帮助您了解OpenLayers3,掌握基于OpenLayers3的WebGIS开发实践, OpenLayers官方网站(http://www.openlayers.org/), 该网站提供了OpenLayers3的系列资源,包括OpenLayers3框架与API文档等。