目录
1.创建地图容器 2.叠加天地图影像底图与矢量注记 关键代码 3.示例效果图
Cesium是默认加载了微软公司的Bing地图,并提供了BingMapslmageryProvider类来加载Bing地图。也就是说,在创建Viewer时,如果不指定lmageryProvider类就默认加载Bing地图。 在示例中详细介绍如何通过lmageryProvider类加载天地图,并使用Cesium的WebMapTileServiceImageryProvider类来调用天地图底图服务。(调用天地图底图服务需要在天地图官网免费申请key)。
1.创建地图容器
< template>
< div class = " map-box" id = " cesiumContainer" >
</ div>
</ template>
< script setup >
import {
ref,
onMounted
} from 'vue'
import * as Cesium from 'cesium'
onMounted ( ( ) => {
const viewer = new Cesium. Viewer ( 'cesiumContainer' , {
geocoder : true ,
homeButton : true ,
sceneModePicker : true ,
baseLayerPicker : false ,
navigationHelpButton : false ,
animation : true ,
timeline : false ,
fullscreenButton : true ,
} )
} ) ;
</ script>
< style scoped >
.map-box {
height : 100%;
width : 100%;
}
</ style>
2.叠加天地图影像底图与矢量注记 关键代码
const tdImageryProvider = new Cesium. WebMapTileServiceImageryProvider ( {
url : "<your tianditu key url>" ,
subdomains : [ '0' , '1' , '2' , '3' , '4' , '5' , '6' , '7' ] ,
layer : 'vec' ,
style : 'default' ,
format : 'tiles' ,
tileMatrixSetID : 'GoogleMapsCompatible' ,
maximumLevel : 18 ,
} ) ;
const tdImageryProviderAnno = new Cesium. WebMapTileServiceImageryProvider ( {
url : "<your tianditu key url>" ,
subdomains : [ '0' , '1' , '2' , '3' , '4' , '5' , '6' , '7' ] ,
layer : 'cva' ,
style : 'default' ,
format : 'tiles' ,
tileMatrixSetID : 'GoogleMapsCompatible' ,
maximumLevel : 18 ,
} ) ;
viewer. imageryLayers. addImageryProvider ( tdImageryProvider) ;
viewer. imageryLayers. addImageryProvider ( tdImageryProviderAnno) ;
3.示例效果图