openlayers入门开发系列之地图展示篇

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之家交流咨询:咨询模式

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180805G0ONIM00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券