目录 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.示例效果图