GIS之家一直打算写一个openlayers入门开发系列文章(openlayers目前版本用4.x),只是一直没抽出时间来整理;本文是openlayers入门开发系列的第一篇:地图展示篇,后续会持续更新一系列入门开发文章。
整个系列的系统主界面会随着功能增加而对应改变,大体布局如下:
地图展示篇运用到了openlayers的核心类
ol.Map
这是OpenLayers的核心组件,对于要渲染的地图,需要一个视图、一个或多个图层和目标容器;
关于Map详情看官方的api说明,里面具有有哪些函数、属性以及事件等等。
官方默认的Map创建代码如下:
ol.View
View对象表示地图的简单2D视图,用来改变地图的中心、分辨率和旋转的对象。初始化View对象有很多参数属性,比如center,zoom,extent,extent等等,这些设置跟地图加载展示息息相关,详情看官方的api说明。
ol.source.TileWMS
这是图层类,用于WMS服务器的瓦片数据的层源,详情看官方的api说明。
地图展示篇核心代码实现过程,加载geoserver部署的瓦片数据
1.地图配置文件Config.js,配置地图服务信息:
地图配置参数说明:
projection:地图坐标系;
geoserver_url:geoserver服务器地址;
tile_grids:设置geoserver部署的瓦片服务WMS的参数信息值,比如瓦片大小、分辨率,切图原始点坐标、范围等等;
layers:配置地图加载图层组信息;
olviews:配置地图View组信息,主要是设置地图初始化位置;
maps:配置地图组信息,每个地图里面配置图层以及视图;
2.地图展示实现核心代码部分:
(1)创建一个地图实例:
(2)createDefaultMap函数
(3)bxmap.Map自定义类,继承ol基类
(4)initializeMap 创建地图对象
(5)bxmap.reader.MapConfigReader
(6)readGeoserverTileWMS 加载geoserver瓦片服务WMS
备注:入门开发系列的demo是基于openlayers api基础上封装以及继承拓展的一些类,比如Map类以及渲染地图器Reader等等,上面的代码只是部分核心代码,其实无非就是两个地方,大概如下:
GIS之家新博客系列发布更新在GIS之家网站,欢迎关注收藏:GIS之家网站
GIS之家作品:GIS之家
GIS之家交流咨询:咨询模式