WebGIS之Leaflet全面解析
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.4 流行的GIS前端开发框架

工欲善其事,必先利其器!随着GIS的普及,涌现出了很多开源地图库(GIS前端框架)与互联网地图API相结合的产品。目前主流的GIS前端开发框架,如OpenLayers、Leaflet、Mapbox GL等都是基于JavaScript的GIS前端开发框架。基于这些GIS前端开发框架,可以与现有GIS服务器融合,满足GIS应用的需求,既可以快速开发出众多简单的WebGIS应用,还可以深入挖掘行业GIS应用,创造和传递地理信息服务价值。

(1)OpenLayers:OpenLayers是业内使用较为广泛的开源地图库,完成了面向对象的重构,同时也进行了H5的升级。

(2)Leaflet:Leaflet是一款实践多、社区活跃、插件非常丰富的开源地图库。

(3)Mapbox GL:其推出的矢量瓦片可视化效果和性能都很出众。

1. OpenLayers

OpenLayers是一个用于开发WebGIS客户端的JavaScript包,最初由MetaCarta公司开发,通过BSD License发行。OpenLayers是一个开源的项目,其目的是为互联网应用提供强大的地图功能,包括地图显示与相关操作,具有灵活的扩展机制。目前,OpenLayers已经成为一个拥有众多开发者和帮助社区的成熟且流行的前端开发框架。

OpenLayers采用纯面向对象的JavaScript方式开发,同时借助Prototype框架和Rico库的一些组件,使得基于OpenLayers开发的WebGIS具有跨浏览器的特性。

OpenLayers官网如图1-8所示。

图1-8 OpenLayers官网

在采用JavaScript开发的WebGIS项目中,OpenLayers作为功能脚本库被引用,在HTML文档中调用其提供的类,以及类的属性和方法,从而实现了互联网地图发布与功能操作。OpenLayers官网(http://www.openlayers.org/)提供了OpenLayers的系列资源,包括OpenLayersLeaflet开发库与API文档等。

2. Leaflet

Leaflet是一个为构建移动端互动地图而开发的现代的、开源的JavaScript库,目前已成为主流的开源GIS前端开发框架之一。Leaflet是由Vladimir Agafonkin带领一个专业团队开发的,虽然其代码容量约为30KB,但它具有在线地图的大部分功能。

Leaflet遵循着简便、高性能和可用性好的设计原则,在桌面和移动端均能高效地运行,在主流浏览器上还可以充分利用HTML5和CSS3的优势。Leaflet是基于插件开发的理念进行设计的,支持插件扩展。GitHub已发布了海量的Leaflet插件,极大地提升了开发者的开发效率,节约开发成本。

Leaflet官网如图1-9所示。

图1-9 Leaflet官网

Leaflet官网(https://leafletjs.com/)提供了Leaflet的系列资源,包括Leaflet开发库与API文档等。

3. Mapbox GL

Mapbox GL是Mapbox(数字地图初创企业,成立于2010年,旨在为企业提供一系列GIS工具)提供的一个JavaScript库,它使用WebGL渲染交互式矢量瓦片地图和栅格瓦片地图。WebGL渲染意味着高性能,Mapbox GL能够渲染大量的地图要素,拥有流畅的交互和动画效果,可以显示立体地图并且支持移动端,是一款十分优秀的WebGIS前端开发框架。

Mapbox针对不同平台均开发了相应的GIS引擎,可以满足大多数开发者和用户的需求,Mapbox GL(mapbox-gl.js)是Mapbox大家族中的一员,主要用于WebGIS开发。除了Mapbox GL,Mapbox还有iOS SDK、Android SDK、Navigation SDK、Unity SDK等工具。

mapbox-gl.js作为前端渲染矢量瓦片地图的工具,支持Mapbox Style样式设置,这是Mapbox GL最吸引人的特性之一。需要注意的是,使用mapbox-gl.js的浏览器必须支持WebGL渲染。

Mapbox GL官网如图1-10所示。

图1-10 Mapbox GL官网

Mapbox GL官网(https://www.mapbox.com/mapbox-gl-js/api/)提供了Mapbox GL的系列资源,包括Mapbox GL开发库与API文档等。