准备工作
首先需要准备好的东西:
- 在geoserver中发布的图层或图层组
图层发布可以参考https://blog.csdn.net/weixin_45390094/article/details/112816608 多个图层加入一个图层组统一发布可参考https://blog.csdn.net/weixin_45390094/article/details/112969992 - 天地图:想要使用在线的天地图接口,需要在天地图官网https://www.tianditu.gov.cn/注册账户,获取密钥,方法可以参考—>天地图密钥获取
实现代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="../v6.12.0/css/ol.css" /> //这里根据自己项目里openlayers的位置来写
<script src="../v6.12.0/build/ol.js"></script>
<style>
.map {
height: 980px;
width: 100%;
}
</style>
</head>
<body>
<div id="map" class="map"></div>
<script type="text/javascript">
var map = new ol.Map({
target: 'map',
layers: [
new ol.layer.Tile({
source: new ol.source.XYZ({
url: 'https://t0.tianditu.gov.cn/DataServer?T=vec_w&x={x}&y={y}&l={z}&tk=你的密钥',
}),
}),
new ol.layer.Tile({
source: new ol.source.XYZ({
url: 'https://t0.tianditu.gov.cn/DataServer?T=cia_w&x={x}&y={y}&l={z}&tk=你的密钥'
}),
}),
new ol.layer.Tile({
source: new ol.source.TileWMS({
url: 'http://localhost:8080/geoserver/qianying/wms',
params: {
'LAYERS': 'qianying:qianyingmap',
'TILED': true
},
serverType: 'geoserver',
transition: 0
})
})
],
view: new ol.View({
center: [111,30],
zoom: 5,
}),
})
</script>
</body>
</html>
|