geoserver配合openlayers框架加载地图

Posted luffy5459

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了geoserver配合openlayers框架加载地图相关的知识,希望对你有一定的参考价值。

    geoserver地图服务器如果搭建成功,那么会有很多图层示例。这些图层可以用作练手示例。在实际工作中,可能需要我们自己设计地图,自己发布,然后使用。

    这里以上一篇最后发布的中国地图为例,采用openlayers框架加载地图。

    这里需要我们下载openlayers框架,这个是一个js地图引擎框架,可以很方便的与geoserver提供的地图服务配合使用,而且geoserver中本身也是支持openlayers格式。

    下载后的文件,我们要使用到的是一个是ol.css样式,再一个就是ol.js文件。

     我们可以在图层预览菜单中看到,我们所要使用的地图:

 

我们点击表格后面的OpenLayers连接,会弹出一个新的tab标签页,里面显示的地址如下: 

http://localhost:8080/geoserver/chinamap/wms?
service=WMS&version=1.1.0&request=GetMap&layers=chinamap%3Achina&bbox=73.49896240234375%2C3
.833843469619751%2C135.08738708496094%2C53.55849838256836&width=768&height=620&srs=EPSG%3A4
326&styles=&format=application/openlayers

    这个地址中的信息,我们在做地图的时候要使用到。url参数中有一个bbox是表示边界的,参数经过转码了,所以看得不是很清楚,具体应该是:

bbox= 73.49896240234375,

           3.833843469619751,

           135.08738708496094,

            53.55849838256836

这几个值,正好是地图左下角,右上角的经纬度坐标。

show me the code:

<!doctype html>
<html>
  <head>
	<meta charset="utf-8"/>
	<title>openlayers</title>
	<link rel="stylesheet" href="v6.7.0/css/ol.css" type="text/css" />
	<style>
		html,body{margin:0;padding:0;}
		.map{
			height:768px;
			width:100%;
		}
		h2{background:#ddd;margin:0;}
	</style>
	<script type="text/javascript" src="v6.7.0/build/ol.js"></script>
  </head>
  <body>
	<h2>chinamap</h2>
	<div id="map" class="map"></div>
	<script>
		window.onload = function(){
		  var layer = [
			new ol.layer.Tile({
				extent:[
					73.49896240234375,
					3.833843469619751,
					135.08738708496094,
					53.55849838256836
				],
				source: new ol.source.TileWMS({
					url:'http://localhost:8080/geoserver/chinamap/wms',
					params:{
						LAYERS:'chinamap:china',
						TILED:true
					},
					serverType:'geoserver',
					transition: 0
				})
			})
		  ]
		  
		  var map = new ol.Map({
			layers:layer,
			target:'map',
			view : new ol.View({
				projection:'EPSG:4326',
				center:[115,39],
				zoom:4
			})
		  })
		}
	</script>
  </body>
</html>

    这里是单页面应用,直接开启一个http server就可以访问。

   看效果:    

 

    这个是一个简单的openlayers框架应用,如今在项目中,一般是结合其他框架比如vue,可以直接npm install ol就可以安装openlayers相关依赖了。 

以上是关于geoserver配合openlayers框架加载地图的主要内容,如果未能解决你的问题,请参考以下文章

openlayers 3加载GeoServer发布的wfs类型服务

使用 Openlayers 和 GEOServer 显示特征名称

PostGIS 结合Openlayers以及Geoserver实现最短路径分析

openlayers6结合geoserver实现地图矢量瓦片(附源码下载)

OpenLayer3+PostGIS+GeoServer 搭建简单GIS服务框架问题探究

openlayers怎么加载shapefile