<template>
|
<div class="ParentCentermapdiv">
|
<div id="Centermapdiv"></div>
|
</div>
|
</template>
|
|
<script>
|
let yunxuanLayer = null
|
export default {
|
name: "",
|
components: {},
|
data() {
|
return {}
|
},
|
mounted() {
|
this.init3DMap()
|
this.$bus.$on("changeProject", name => {
|
if (!yunxuanLayer) {
|
var urls = "https://tiles3.geovisearth.com/base/v1/ter"
|
// 星图地球地形晕渲
|
yunxuanLayer = sgworld.Creator.createUrlTemplateImageryProvider(
|
"星图地球地形晕渲",
|
{
|
url:
|
urls +
|
"/{z}/{x}/{y}?format=webp&token=486dac3bec56d7d7c2a581c150be2bd937462f1e8f3bc9c78b5658b396122405",
|
},
|
"0",
|
undefined,
|
true,
|
""
|
)
|
}
|
if (name == '全球项目') {
|
yunxuanLayer.item.show = true
|
} else {
|
yunxuanLayer.item.show = false
|
}
|
})
|
},
|
methods: {
|
init3DMap() {
|
//地图初始化
|
// window.sgworld = new SmartEarth.SGWorld("Centermapdiv", {
|
// licenseServer: window.sceneConfig.licenseServer,
|
// })
|
window.sgworld = new SmartEarth.SGWorld(
|
"Centermapdiv",
|
SmartEarthRootUrl + "Workers/image/earth.jpg",
|
function () {}
|
)
|
|
window.viewer = window.Viewer = window.sgworld._Viewer;
|
|
|
|
Viewer.imageryLayers._layers[0].show = false
|
|
sgworld.Navigate.jumpTo({ //跳转视角
|
destination: new Cesium.Cartesian3.fromDegrees(110, 32, 50000000)
|
});
|
setTimeout(() => {
|
window.viewer.camera.flyTo({
|
destination:new Cesium.Cartesian3.fromDegrees(110, 32, 20000000),
|
orientation:{
|
heading:Cesium.Math.toRadians(0),
|
pitch: Cesium.Math.toRadians(-90),
|
}
|
})
|
}, 1000);
|
|
Viewer.imageryLayers.addImageryProvider(
|
new Cesium.UrlTemplateImageryProvider({
|
url: gaoDeBaseUrl[0].url,
|
})
|
)
|
|
Viewer.imageryLayers.addImageryProvider(
|
new Cesium.UrlTemplateImageryProvider({
|
url: gaoDeBaseUrl[1].url,
|
})
|
)
|
Viewer.imageryLayers.addImageryProvider(
|
new Cesium.UrlTemplateImageryProvider({
|
url: gaoDeBaseUrl[2].url,
|
})
|
)
|
|
Viewer._enableInfoOrSelection = false
|
//显示fps
|
Viewer.scene.debugShowFramesPerSecond = false
|
//导航控件
|
window.sgworld.navControl("nav", false)
|
//比例尺
|
window.sgworld.navControl("scale", false)
|
//开启深度检测
|
sgworld.Analysis.depthTestAgainstTerrain(true)
|
|
Viewer.terrainProvider = new Cesium.CesiumTerrainProvider({
|
url: demLayer,
|
})
|
|
//改变天空颜色为黑色
|
Viewer.scene.skyBox.show = false //关闭天空盒,否则会显示天空颜色
|
//背景透明
|
Viewer.scene.backgroundColor = new Cesium.Color(0.0, 0.0, 0.0, 0.0)
|
},
|
},
|
}
|
</script>
|
|
<style scoped lang="less">
|
.ParentCentermapdiv {
|
display: fixed;
|
height: 100%;
|
width: 100%;
|
}
|
#Centermapdiv {
|
height: 100%;
|
width: 100%;
|
}
|
</style>
|