概述
环境搭建
环境用的是postgreSQL9.5+geoserver-2.17.4+openlayer-3.20.1
安装postgresSQL9.5时,记得顺带安装一下postgis,它是用来导入数据的
geoserver的话没有太多说的,记得配一下GEOSERVER_HOME及GEOSERVER_DATA_DIR
openlayer是一个javascript写库能够获取其中GEOSERVER上的数据
导入数据
数据源
在其中下载shp文件
通过postgresSQL将文件导入到postgres中
发布图层
发布了的图层可以在Layer Preview中看到
Openlayer获取图层
通过如下代码即可获取到相应的图层数据
<head>
<meta charset="UTF-8">
<title>Title</title>
<!--<link rel="stylesheet" href="https://openlayers.org/en/v3.19.1/css/ol.css" type="text/css">-->
<link rel="stylesheet" href="ol3/css/ol.css" type="text/css">
<script src="https://cdn.polyfill.io/v2/polyfill.min.js?features=requestAnimationFrame,Element.prototype.classList,URLhttps://cdn.polyfill.io/v2/polyfill.min.js?features=requestAnimationFrame,Element.prototype.classList,URL"></script>
<!--<script src="https://openlayers.org/en/v3.19.1/build/ol.js"></script>-->
<script src="ol3/build/ol.js"></script>
</head>
<body>
<div id="map" class="map"></div>
<script>
var extent=[73.441276550293,18.1598281860352,135.086944580078,53.5617713928223];//BBOX范围值--可以在URL中拿到
var projection=new ol.proj.Projection({//地图投影类型
code:'EPSG:404000',
units:'degrees',
extent:extent
});
var layers = [
new ol.layer.Image({
//extent:extent, //可注释
source: new ol.source.ImageWMS({
url: 'http://localhost:8080/geoserver/test/wms',
params: {'LAYERS': 'test:china_2014gdp','VERSION':'1.1.0'},
serverType: 'geoserver'
})
})
];
var map = new ol.Map({
layers: layers,
target: 'map',
view: new ol.View({
projection:projection,
center:ol.extent.getCenter(extent), //<1>设置固定中心点
zoom: 2
})
});
</script>
</body>