Preparación
Lo primero que debes preparar:
- Para capas o grupos de capas publicados en GeoServer,
consulte https://blog.csdn.net/weixin_45390094/article/details/112816608
para que varias capas se unan a un grupo de capas para una publicación unificada, consulte https://blog. csdn.net/weixin_45390094/article/details/112969992 - Tianditu: si desea utilizar la interfaz en línea de Tianditu, debe registrar una cuenta en el sitio web oficial de Tianditu https://www.tianditu.gov.cn/ y obtener una clave. Para conocer el método, consulte —> Tianditu adquisición clave
El código de implementación es el siguiente:
<!-- 天地图and geoserver的服务 -->
<!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=你的密钥',
}),
/*isGroup: true,
name: '天地图路网'*/
}),
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=你的密钥'
}),
/*isGroup: true,
name: '天地图文字标注'*/
}),
//天地图有多个图层,根据需要加载
new ol.layer.Tile({
// 图层组
source: new ol.source.TileWMS({
url: 'http://localhost:8080/geoserver/qianying/wms', // 这个地址是在geoserver里面进行图层预览的地址是一致
params: {
'LAYERS': 'qianying:qianyingmap', // 这里的名字需要与空间定义的一样
'TILED': true
},
serverType: 'geoserver',
transition: 0
})
})
],
view: new ol.View({
center: [111,30], //这里我设置的效果不太对,根据情况修改
zoom: 5,
}),
})
</script>
</body>
</html>