OpenLayers(https://openlayers.org/)是一个用来帮助开发Web地图应用的高性能的、功能丰富的JavaScript类库,可以满足几乎所有的地图开发需求。
有如下特点:
支持任何XYZ瓦片资源,同时也支持OGC的WMTS规范的瓦片服务以及ArcGIS规范的瓦片服务
支持矢量切片,包括pbf、GeoJSON、TopoJSON格式
支持矢量图层,能渲染GeoJSON、TopoJSON、KML、GML和其他格式的矢量数据
支持OGC制定的WMS、WFS等GIS网络服务规范
支持在移动设备上运行
可以通过css来为地图控件设置样式
面向对象开发方式,在OpenLayers中万物皆对象
和另一个流行的地图库leaflet不同,openLayers完全是用面向对象的方式开发的,且几乎内置了所有地图开发需要的功能,而leaflet核心库只提供基本功能,其他功能都是通过第三方插件进行扩展。使用上来说leaflet更容易上手,OpenLayers上手难度比较大,所以业务可预见较为简单的建议采用leaflet。
OpenLayers虽然很强大,但是因为一切皆对象,所以使用起来很麻烦,再加上无比难看的文档,所以对新手极其不友好。