@@ -4,7 +4,7 @@ if (window.CESIUM_BASE_URL === undefined) {
4
4
5
5
import {
6
6
Cartesian3 ,
7
- createWorldTerrain ,
7
+ createWorldTerrainAsync ,
8
8
defined ,
9
9
formatError ,
10
10
Math as CesiumMath ,
@@ -20,7 +20,7 @@ import {
20
20
viewerDragDropMixin ,
21
21
} from "../../Build/CesiumUnminified/index.js" ;
22
22
23
- function main ( ) {
23
+ async function main ( ) {
24
24
/*
25
25
Options parsed from query string:
26
26
source=url The URL of a CZML/GeoJSON/KML data source to load at startup.
@@ -53,21 +53,23 @@ function main() {
53
53
let viewer ;
54
54
try {
55
55
const hasBaseLayerPicker = ! defined ( imageryProvider ) ;
56
+
57
+ const terrainProvider = await createWorldTerrainAsync ( {
58
+ requestWaterMask : true ,
59
+ requestVertexNormals : true ,
60
+ } ) ;
61
+
56
62
viewer = new Viewer ( "cesiumContainer" , {
57
63
imageryProvider : imageryProvider ,
58
64
baseLayerPicker : hasBaseLayerPicker ,
59
65
scene3DOnly : endUserOptions . scene3DOnly ,
60
66
requestRenderMode : true ,
67
+ terrainProvider : terrainProvider ,
61
68
} ) ;
62
69
63
70
if ( hasBaseLayerPicker ) {
64
71
const viewModel = viewer . baseLayerPicker . viewModel ;
65
72
viewModel . selectedTerrain = viewModel . terrainProviderViewModels [ 1 ] ;
66
- } else {
67
- viewer . terrainProvider = createWorldTerrain ( {
68
- requestWaterMask : true ,
69
- requestVertexNormals : true ,
70
- } ) ;
71
73
}
72
74
} catch ( exception ) {
73
75
loadingIndicator . style . display = "none" ;
@@ -144,25 +146,23 @@ function main() {
144
146
}
145
147
146
148
if ( defined ( loadPromise ) ) {
147
- viewer . dataSources
148
- . add ( loadPromise )
149
- . then ( function ( dataSource ) {
150
- const lookAt = endUserOptions . lookAt ;
151
- if ( defined ( lookAt ) ) {
152
- const entity = dataSource . entities . getById ( lookAt ) ;
153
- if ( defined ( entity ) ) {
154
- viewer . trackedEntity = entity ;
155
- } else {
156
- const error = `No entity with id "${ lookAt } " exists in the provided data source.` ;
157
- showLoadError ( source , error ) ;
158
- }
159
- } else if ( ! defined ( view ) && endUserOptions . flyTo !== "false" ) {
160
- viewer . flyTo ( dataSource ) ;
149
+ try {
150
+ const dataSource = await viewer . dataSources . add ( loadPromise ) ;
151
+ const lookAt = endUserOptions . lookAt ;
152
+ if ( defined ( lookAt ) ) {
153
+ const entity = dataSource . entities . getById ( lookAt ) ;
154
+ if ( defined ( entity ) ) {
155
+ viewer . trackedEntity = entity ;
156
+ } else {
157
+ const error = `No entity with id "${ lookAt } " exists in the provided data source.` ;
158
+ showLoadError ( source , error ) ;
161
159
}
162
- } )
163
- . catch ( function ( error ) {
164
- showLoadError ( source , error ) ;
165
- } ) ;
160
+ } else if ( ! defined ( view ) && endUserOptions . flyTo !== "false" ) {
161
+ viewer . flyTo ( dataSource ) ;
162
+ }
163
+ } catch ( error ) {
164
+ showLoadError ( source , error ) ;
165
+ }
166
166
}
167
167
}
168
168
0 commit comments