|
|
|
@ -1,10 +1,17 @@
|
|
|
|
|
// Viewer初始化
|
|
|
|
|
import { Viewer, TileMapServiceImageryProvider } from 'cesium'
|
|
|
|
|
import {
|
|
|
|
|
Viewer,
|
|
|
|
|
TileMapServiceImageryProvider,
|
|
|
|
|
ImageryLayer,
|
|
|
|
|
RequestScheduler,
|
|
|
|
|
SceneMode,
|
|
|
|
|
buildModuleUrl,
|
|
|
|
|
} from 'cesium'
|
|
|
|
|
|
|
|
|
|
//离线地球底图
|
|
|
|
|
const earth_native = TileMapServiceImageryProvider.fromUrl(
|
|
|
|
|
// 'node_modules/cesium/Build/CesiumUnminified/Assets/Textures/NaturalEarthII',
|
|
|
|
|
Cesium.buildModuleUrl('Assets/Textures/NaturalEarthII'),
|
|
|
|
|
buildModuleUrl('Assets/Textures/NaturalEarthII'),
|
|
|
|
|
)
|
|
|
|
|
/**
|
|
|
|
|
* Viewer初始化
|
|
|
|
@ -20,7 +27,7 @@ function initViewer(container: string | Element): Viewer {
|
|
|
|
|
timeline: false, //是否显示时间线控件
|
|
|
|
|
animation: false, //是否显示动画控件
|
|
|
|
|
sceneModePicker: true, //是否显示投影方式控件
|
|
|
|
|
sceneMode: Cesium.SceneMode.SCENE3D, //设置场景模式,3D球体
|
|
|
|
|
sceneMode: SceneMode.SCENE3D, //设置场景模式,3D球体
|
|
|
|
|
// terrain: Cesium.Terrain.fromWorldTerrain(),
|
|
|
|
|
baseLayerPicker: false, //是否显示图层选择控件
|
|
|
|
|
requestRenderMode: true, //启用请求渲染模式
|
|
|
|
@ -28,8 +35,9 @@ function initViewer(container: string | Element): Viewer {
|
|
|
|
|
fullscreenButton: false, //右下角 全屏控件
|
|
|
|
|
orderIndependentTranslucency: false,
|
|
|
|
|
contextOptions: { webgl: { alpha: true } },
|
|
|
|
|
maximumRenderTimeChange: Infinity, // 无操作时自动渲染帧率,设为数字会消耗性能,Infinity为无操作不渲染
|
|
|
|
|
// mapProjection: new Cesium.WebMercatorProjection(),
|
|
|
|
|
baseLayer: Cesium.ImageryLayer.fromProviderAsync(earth_native, {}),
|
|
|
|
|
baseLayer: ImageryLayer.fromProviderAsync(earth_native, {}),
|
|
|
|
|
})
|
|
|
|
|
//去除cesium logo,隐藏版本信息
|
|
|
|
|
const creditContainer = viewer.cesiumWidget.creditContainer as HTMLDivElement
|
|
|
|
@ -59,8 +67,8 @@ function perfViewer(viewer: Viewer) {
|
|
|
|
|
viewer.scene.sun.show = false
|
|
|
|
|
viewer.scene.skyBox.show = false
|
|
|
|
|
// 优化加载WMTS图层速度
|
|
|
|
|
Cesium.RequestScheduler.maximumRequestsPerServer = 18 // 设置cesium请求调度器的最大并发数量
|
|
|
|
|
Cesium.RequestScheduler.throttleRequests = false //关闭请求调度器的请求节流
|
|
|
|
|
RequestScheduler.maximumRequestsPerServer = 18 // 设置cesium请求调度器的最大并发数量
|
|
|
|
|
RequestScheduler.throttleRequests = false //关闭请求调度器的请求节流
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export { initViewer, perfViewer }
|
|
|
|
|