openlayers3配置geoserver(WMS),获取已渲染ImageWMS底图详解

最近,原项目中的openlayers2进行框架升级为openlayers3,因为openlayers3相当于进行了完全重构,导致项目升级遇到了一些问题。而网上大部分资料,对extent,center等参数讲解不详细,这里主要讲一下,在通过openlayers3获取geoserver服务器(WMS)中image底图时,具体步骤和需要注意的一些细节。

一、首先,geoserver(版本2.5.5)地图发布。基本步骤不讲,主要两点:

<1>增加数据源我选择的底图类型为WorldImage;

<2>图层发布SRS设置为EPSG:4326;

<3>图层图片为含有坐标数据的png

配置好geoserver,地图发布成功。


二、openlayers3中主要参数详解

新建一个ol.map类,var map=new ol.map(options);而构造函数的参数options中与openlayer2区别很大。

options中的主要三个参数:

<1>target:存放地图的div,值为div的id

<2>layers:图层数组,按数组顺序加载各图层。从geoserver获取wms图层主要是在这里面配置

<3>view:图层展示,确定缩放级别zoom,展示中心点center等,而center的值,通过ol中的方法将地图坐标值进行转换获得。

                  代码示例:( 代码根据官方demo进行修改而成,地图为geoserver2.5.5中的示例地图,安装后已自动发布):



  
    Single Image WMS
    
    
    
    
  
  
    



三、特别注意

1.其中extent(ol2中的bounds)就是坐标范围值和geoserver地图图层发布中bbox(Bounding Box)的值对应一致。

2.最重要的是:view投影中心点center的设置,有两种方法

 <1>直接在view中设置 (见代码中的<1>方法)

<2>动态设置 (见代码中的<2>方法)


你可能感兴趣的:(WEB开发)