初始化地图
<template>
<div id="container" class="box">
<div id="cesiumBox"></div>
</div>
</template>
<script>
import * as Cesium from "cesium";
const init = ()=>{
// 注册的token
Cesium.Ion.defaultAccessToken = "your_access_token";
// 初始化地图
const viewer = new Cesium.Viewer("cesiumBox", {
baseLayerPicker: false, // 如果设置为false,将不会创建右上角图层按钮
geocoder: false, // 如果设置为false,将不会创建右上角查询(放大镜)按钮
navigationHelpButton: false, // 如果设置为false,则不会创建右上角帮助(问号)按钮
homeButton: false, // 如果设置为false,将不会创建右上角主页(房子)按钮
sceneModePicker: false, // 如果设置为false,将不会创建右上角投影方式控件(显示二三维切换按钮)
animation: false, // 如果设置为false,将不会创建左下角动画小部件
timeline: false, // 如果设置为false,则不会创建正下方时间轴小部件
fullscreenButton: false, // 如果设置为false,将不会创建右下角全屏按钮
scene3DOnly: true, // 为 true 时,每个几何实例将仅以3D渲染以节省GPU内存
shouldAnimate: false, // 默认true ,否则为 false 。此选项优先于设置 Viewer#clockViewModel
infoBox: false, // 是否显示点击要素之后显示的信息
sceneMode: 3, // 初始场景模式 1 2D模式 2 2D循环模式 3 3D模式 Cesium.SceneMode
requestRenderMode: false, // 启用请求渲染模式,不需要渲染,节约资源
// 使用高德影像地形地图
imageryProvider: new Cesium.UrlTemplateImageryProvider({
url: "https://webst02.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}",
}),
});
// 加上高德影像注记地图
viewer.imageryLayers.addImageryProvider(
new Cesium.UrlTemplateImageryProvider({
url: "http://webst02.is.autonavi.com/appmaptile?x={x}&y={y}&z={z}&lang=zh_cn&size=1&scale=1&style=8",
})
);
// 设置初始位置 Cesium.Cartesian3.fromDegrees(longitude, latitude, height, ellipsoid, result)
const boundingSphere = new Cesium.BoundingSphere(
Cesium.Cartesian3.fromDegrees(120.55538, 31.87532, 100),
15000
);
// 定位到初始位置
viewer.camera.flyToBoundingSphere(boundingSphere, {
// 动画,定位到初始位置的过渡时间,设置成0,就没有动画
duration: 0,
});
viewer._cesiumWidget._creditContainer.style.display = "none"; // 隐藏版权
}
};
</script>
<style scoped lang="scss">
#cesiumBox {
width: 100%;
height: 100vh;
margin: 0;
padding: 0;
overflow: hidden;
}
.box {
height: 100%;
}
</style>
高德地图资源
//卫片
http://webst01.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}
//路网
https://wprd01.is.autonavi.com/appmaptile?x={x}&y={y}&z={z}&lang=zh_cn&size=1&scl=1&style=8<ype=11
//地名
https://wprd01.is.autonavi.com/appmaptile?x={x}&y={y}&z={z}&lang=zh_cn&size=1&scl=1&style=8<ype=4
//地名+路网
http://webst01.is.autonavi.com/appmaptile?style=8&x={x}&y={y}&z={z}
//矢量切片风格
http://webrd01.is.autonavi.com/appmaptile?&scale=1&lang=zh_cn&style=8&x={x}&y={y}&z={z}
天地图资源
// 服务负载子域
var subdomains=['0','1','2','3','4','5','6','7'];
//全球矢量底图服务
new Cesium.WebMapTileServiceImageryProvider({
url: "http://t{s}.tianditu.gov.cn/vec_w/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=vec&tileMatrixSet=w&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}&style=default&format=tiles&tk=替换你的token”,
subdomains: subdomains,
layer: "tdtImgLayer",
style: "default",
format: "image/jpeg",
tileMatrixSetID: "GoogleMapsCompatible",//使用谷歌的瓦片切片方式
})
viewer.imageryLayers.addImageryProvider(new Cesium.WebMapTileServiceImageryProvider({
//调用矢量地图中文注记服务
url: "http://t{s}.tianditu.com/cva_w/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=cva&tileMatrixSet=w&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}&style=default&format=tiles&tk=替换你的token",
subdomains:subdomains,
layer: "tdtAnnoLayer",
style: "default",
format: "image/jpeg",
tileMatrixSetID: "GoogleMapsCompatible",
}));
//影像地图
http://t{s}.tianditu.com/img_w/wmts?service=w、、mts&request=GetTile&version=1.0.0&LAYER=img&tileMatrixSet=w&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}&style=default&format=tiles&tk=替换你的token
//影像注记
http://t{s}.tianditu.com/cia_w/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=cia&tileMatrixSet=w&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}&style=default&tk=替换你的token
百度地图资源
//影像数据
http://shangetu{s}.map.bdimg.com/it/u=x={x};y={y};z={z};v=009;type=sate&fm=46
//矢量切片
http://online{s}.map.bdimg.com/onlinelabel/?qt=tile&x={x}&y={y}&z={z}&styles=pl&scaler=1&p=1
//标注
http://online{s}.map.bdimg.com/tile/?qt=tile&x={x}&y={y}&z={z}&styles={sh/sl}&v=020
//风格地图
http://api0.map.bdimg.com/customimage/tile?&x={x}&y={y}&z={z}&scale=1&customid=dark
//可显示的风格
dark
midnight
grayscale
hardedge
light
redalert
googlelite
grassgreen
pink
darkgreen
bluish
imageryProvider : new BaiduImageryProvider({
url: "http://api0.map.bdimg.com/customimage/tile?&x={x}&y={y}&z={z}&scale=1&customid=googlelite"
})