bruce-cesium 4.4.0 → 4.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  import { BruceEvent, Cartes, Carto, Entity as Entity$1, Geometry, MathUtils, LRUCache, ProjectViewTile, DelayQueue, ZoomControl, Style, EntityTag, Calculator, EntityLod, EntityType, ClientFile, ObjectUtils, Bounds, Api, EntityRelationType, ENVIRONMENT, EntityHistoricData, Tileset, EntityCoords, EntitySource, MenuItem, EntityRelation, ProgramKey, ProjectView, ProjectViewBookmark, Camera, ProjectViewLegacyTile, EntityAttribute, EntityAttachment, EntityAttachmentType, AbstractApi, Session } from 'bruce-models';
2
2
  import * as Cesium from 'cesium';
3
- import { Cartographic, Cartesian2, Math as Math$1, Cartesian3, CallbackProperty, Color, HeightReference, Rectangle, JulianDate, Entity, Primitive, Cesium3DTileFeature, SceneMode, GeoJsonDataSource, ColorMaterialProperty, ConstantProperty, DistanceDisplayCondition, NearFarScalar, Model, HorizontalOrigin, VerticalOrigin, ConstantPositionProperty, ClassificationType, ArcType, CornerType, ShadowMode, PolygonHierarchy, PolylineGraphics, ColorBlendMode, HeadingPitchRoll, Transforms, HeadingPitchRange, Ion, Cesium3DTileStyle, Cesium3DTileColorBlendMode, KmlDataSource, SceneTransforms, OrthographicFrustum, EasingFunction, EllipsoidTerrainProvider, BingMapsImageryProvider, BingMapsStyle, MapboxImageryProvider, MapboxStyleImageryProvider, ArcGisMapServerImageryProvider, OpenStreetMapImageryProvider, UrlTemplateImageryProvider, GridImageryProvider, GeographicTilingScheme, ImageryLayer, TileMapServiceImageryProvider, IonImageryProvider, CesiumTerrainProvider, CesiumInspector, defined, ClockRange, EllipsoidGeodesic, sampleTerrainMostDetailed, Cesium3DTileset, PolygonPipeline, BoundingSphere, Matrix3, Matrix4, GeometryInstance, ModelGraphics, PolygonGraphics, CorridorGraphics, PointGraphics, BillboardGraphics, EllipseGraphics, IonResource, ScreenSpaceEventHandler, ScreenSpaceEventType, CzmlDataSource, Quaternion, Intersect } from 'cesium';
3
+ import { Cartographic, Cartesian2, Math as Math$1, Cartesian3, CallbackProperty, Color, HeightReference, Rectangle, JulianDate, DistanceDisplayCondition, NearFarScalar, Model, ColorMaterialProperty, Entity, HorizontalOrigin, VerticalOrigin, ConstantProperty, ConstantPositionProperty, ClassificationType, ArcType, CornerType, ShadowMode, PolygonHierarchy, PolylineGraphics, ColorBlendMode, HeadingPitchRoll, Transforms, Primitive, Cesium3DTileFeature, GeoJsonDataSource, Cesium3DTileColorBlendMode, HeadingPitchRange, Ion, Cesium3DTileStyle, KmlDataSource, SceneTransforms, OrthographicFrustum, EasingFunction, EllipsoidTerrainProvider, BingMapsImageryProvider, BingMapsStyle, MapboxImageryProvider, MapboxStyleImageryProvider, ArcGisMapServerImageryProvider, OpenStreetMapImageryProvider, UrlTemplateImageryProvider, GridImageryProvider, GeographicTilingScheme, ImageryLayer, TileMapServiceImageryProvider, IonImageryProvider, CesiumTerrainProvider, CesiumInspector, defined, ClockRange, Cesium3DTileset, Matrix4, Matrix3, IonResource, EllipsoidGeodesic, sampleTerrainMostDetailed, PolygonPipeline, BoundingSphere, GeometryInstance, ModelGraphics, PolygonGraphics, CorridorGraphics, PointGraphics, BillboardGraphics, EllipseGraphics, ScreenSpaceEventHandler, ScreenSpaceEventType, SceneMode, Intersect, CzmlDataSource, Quaternion } from 'cesium';
4
4
 
5
5
  /*! *****************************************************************************
6
6
  Copyright (c) Microsoft Corporation. All rights reserved.
@@ -13680,7 +13680,6 @@ var TilesetRenderEngine;
13680
13680
  return __generator(this, function (_a) {
13681
13681
  switch (_a.label) {
13682
13682
  case 0:
13683
- console.log(params.noMemoryLimit);
13684
13683
  api = params.apiGetter.getApi(params.accountId);
13685
13684
  // Ensure regional url is loaded.
13686
13685
  return [4 /*yield*/, api.Loading];
@@ -17433,7 +17432,7 @@ var TilesetGooglePhotosRenderManager;
17433
17432
  Manager.prototype.Init = function () {
17434
17433
  var _this = this;
17435
17434
  (function () { return __awaiter(_this, void 0, void 0, function () {
17436
- var CESIUM, programKey, e_1, _a, colorCss;
17435
+ var CESIUM, programKeys, _i, programKeys_1, programKey, e_1, _a, colorCss;
17437
17436
  var _b;
17438
17437
  return __generator(this, function (_c) {
17439
17438
  switch (_c.label) {
@@ -17447,14 +17446,20 @@ var TilesetGooglePhotosRenderManager;
17447
17446
  _c.label = 1;
17448
17447
  case 1:
17449
17448
  _c.trys.push([1, 3, , 4]);
17450
- return [4 /*yield*/, ProgramKey.Get({
17451
- programId: ProgramKey.EProgramId.Google,
17449
+ return [4 /*yield*/, ProgramKey.GetList({
17452
17450
  api: this.getters.GetBruceApi()
17453
17451
  })];
17454
17452
  case 2:
17455
- programKey = (_c.sent()).programKey;
17456
- if (programKey === null || programKey === void 0 ? void 0 : programKey.Key) {
17457
- CESIUM.GoogleMaps.defaultApiKey = programKey.Key;
17453
+ programKeys = (_c.sent()).programKeys;
17454
+ for (_i = 0, programKeys_1 = programKeys; _i < programKeys_1.length; _i++) {
17455
+ programKey = programKeys_1[_i];
17456
+ if (!programKey.Key) {
17457
+ continue;
17458
+ }
17459
+ if (programKey.ProgramId === ProgramKey.EProgramId.Google || programKey.ProgramId === ProgramKey.EProgramId.GooglePhotogrammetry) {
17460
+ CESIUM.GoogleMaps.defaultApiKey = programKey.Key;
17461
+ break;
17462
+ }
17458
17463
  }
17459
17464
  return [3 /*break*/, 4];
17460
17465
  case 3:
@@ -18574,64 +18579,43 @@ var GoogleSearchRenderManager;
18574
18579
  Manager.prototype.Init = function () {
18575
18580
  var _this = this;
18576
18581
  (function () { return __awaiter(_this, void 0, void 0, function () {
18577
- var key, valid, programKey, valid, e_1;
18582
+ var programKey, valid, e_1;
18578
18583
  var _this = this;
18579
- var _a, _b, _c, _d;
18580
- return __generator(this, function (_e) {
18581
- switch (_e.label) {
18584
+ var _a;
18585
+ return __generator(this, function (_b) {
18586
+ switch (_b.label) {
18582
18587
  case 0:
18583
- _e.trys.push([0, 7, , 8]);
18584
- if (!!((_c = (_b = (_a = getGoogle()) === null || _a === void 0 ? void 0 : _a.maps) === null || _b === void 0 ? void 0 : _b.places) === null || _c === void 0 ? void 0 : _c.PlacesService)) return [3 /*break*/, 6];
18585
- key = this.item.accessToken;
18586
- if (!key) return [3 /*break*/, 2];
18587
- return [4 /*yield*/, validateKey(key)];
18588
- case 1:
18589
- valid = _e.sent();
18590
- if (!valid) {
18591
- console.warn("Menu Item key not valid for Google Places API. Will try use the account default.");
18592
- key = null;
18593
- }
18594
- _e.label = 2;
18595
- case 2:
18596
- if (!!key) return [3 /*break*/, 5];
18588
+ _b.trys.push([0, 5, , 6]);
18597
18589
  return [4 /*yield*/, ProgramKey.Get({
18598
- programId: ProgramKey.EProgramId.Google,
18590
+ programId: ProgramKey.EProgramId.GoogleApi,
18599
18591
  api: this.getters.GetBruceApi()
18600
18592
  })];
18601
- case 3:
18602
- programKey = (_e.sent()).programKey;
18603
- if (programKey === null || programKey === void 0 ? void 0 : programKey.Key) {
18604
- key = programKey.Key;
18605
- }
18606
- if (!key) return [3 /*break*/, 5];
18607
- return [4 /*yield*/, validateKey(key)];
18608
- case 4:
18609
- valid = _e.sent();
18593
+ case 1:
18594
+ programKey = (_b.sent()).programKey;
18595
+ if (!(programKey === null || programKey === void 0 ? void 0 : programKey.Key)) return [3 /*break*/, 3];
18596
+ return [4 /*yield*/, validateKey(programKey === null || programKey === void 0 ? void 0 : programKey.Key)];
18597
+ case 2:
18598
+ valid = _b.sent();
18610
18599
  if (!valid) {
18611
18600
  throw new Error("Account default key not valid for Google Places API.");
18612
18601
  }
18613
- _e.label = 5;
18614
- case 5:
18615
- if (!key) {
18616
- throw new Error("No valid key found for Google Places API.");
18617
- }
18618
- this.accessToken = key;
18619
- _e.label = 6;
18620
- case 6:
18602
+ return [3 /*break*/, 4];
18603
+ case 3: throw new Error("No valid key found for Google Places API.");
18604
+ case 4:
18621
18605
  if (this.Disposed) {
18622
18606
  return [2 /*return*/];
18623
18607
  }
18624
- (_d = this.monitorRemoval) === null || _d === void 0 ? void 0 : _d.call(this);
18608
+ (_a = this.monitorRemoval) === null || _a === void 0 ? void 0 : _a.call(this);
18625
18609
  this.monitorRemoval = this.monitor.Updated().Subscribe(function () {
18626
18610
  _this.startGetterLoop();
18627
18611
  });
18628
18612
  this.startGetterLoop();
18629
- return [3 /*break*/, 8];
18630
- case 7:
18631
- e_1 = _e.sent();
18613
+ return [3 /*break*/, 6];
18614
+ case 5:
18615
+ e_1 = _b.sent();
18632
18616
  console.error(e_1);
18633
- return [3 /*break*/, 8];
18634
- case 8: return [2 /*return*/];
18617
+ return [3 /*break*/, 6];
18618
+ case 6: return [2 /*return*/];
18635
18619
  }
18636
18620
  });
18637
18621
  }); })();
@@ -18731,8 +18715,7 @@ var GoogleSearchRenderManager;
18731
18715
  return [4 /*yield*/, getPlaces({
18732
18716
  location: location_1,
18733
18717
  bounds: bounds_1,
18734
- keyword: this.item.keyword,
18735
- accessToken: this.accessToken
18718
+ keyword: this.item.keyword
18736
18719
  })];
18737
18720
  case 8:
18738
18721
  result = _a.sent();
@@ -18886,72 +18869,6 @@ function delay$1(milliseconds) {
18886
18869
  * @param params
18887
18870
  */
18888
18871
  function getPlaces(params) {
18889
- var _a, _b, _c;
18890
- return __awaiter(this, void 0, void 0, function () {
18891
- return __generator(this, function (_d) {
18892
- // Works better with CORS.
18893
- // Does not allow a token to be passed in.
18894
- if ((_c = (_b = (_a = getGoogle()) === null || _a === void 0 ? void 0 : _a.maps) === null || _b === void 0 ? void 0 : _b.places) === null || _c === void 0 ? void 0 : _c.PlacesService) {
18895
- return [2 /*return*/, getPlacesThroughLib(params)];
18896
- }
18897
- // Dies in localhost with CORS errors.
18898
- return [2 /*return*/, getPlacesThroughHTTP(params)];
18899
- });
18900
- });
18901
- }
18902
- function getPlacesThroughHTTP(params) {
18903
- return __awaiter(this, void 0, void 0, function () {
18904
- var location, bounds, keyword, accessToken, isKeyValid, url, baseUrl, boundsStr, locationStr, baseUrl, locationStr, response, data;
18905
- return __generator(this, function (_a) {
18906
- switch (_a.label) {
18907
- case 0:
18908
- location = params.location, bounds = params.bounds, keyword = params.keyword, accessToken = params.accessToken;
18909
- if (!accessToken) {
18910
- throw new Error("No access token provided");
18911
- }
18912
- return [4 /*yield*/, validateKeyForSearches(accessToken)];
18913
- case 1:
18914
- isKeyValid = _a.sent();
18915
- if (!isKeyValid) {
18916
- throw new Error("Invalid Google API Key");
18917
- }
18918
- if (bounds) {
18919
- baseUrl = "https://maps.googleapis.com/maps/api/place/textsearch/json";
18920
- url = new URL(baseUrl);
18921
- url.searchParams.append("key", accessToken);
18922
- url.searchParams.append("query", keyword);
18923
- boundsStr = "".concat(MathUtils.Round(bounds.south, 4), ",").concat(MathUtils.Round(bounds.west, 4), "|").concat(MathUtils.Round(bounds.north, 4), ",").concat(MathUtils.Round(bounds.east, 4));
18924
- url.searchParams.append("bounds", boundsStr);
18925
- locationStr = "".concat(MathUtils.Round(location.latitude, 4), ",").concat(MathUtils.Round(location.longitude, 4));
18926
- url.searchParams.append("location", locationStr);
18927
- }
18928
- else {
18929
- baseUrl = "https://maps.googleapis.com/maps/api/place/nearbysearch/json";
18930
- url = new URL(baseUrl);
18931
- url.searchParams.append("key", accessToken);
18932
- url.searchParams.append("keyword", keyword);
18933
- locationStr = "".concat(MathUtils.Round(location.latitude, 4), ",").concat(MathUtils.Round(location.longitude, 4));
18934
- url.searchParams.append("location", locationStr);
18935
- url.searchParams.append("radius", "1000");
18936
- }
18937
- return [4 /*yield*/, fetch(url.toString())];
18938
- case 2:
18939
- response = _a.sent();
18940
- if (!response.ok) {
18941
- throw new Error("HTTP error! status: ".concat(response.status));
18942
- }
18943
- return [4 /*yield*/, response.json()];
18944
- case 3:
18945
- data = _a.sent();
18946
- if (data.status !== "OK") {
18947
- throw new Error("API error! status: ".concat(data.status));
18948
- }
18949
- return [2 /*return*/, data.results];
18950
- }
18951
- });
18952
- });
18953
- }
18954
- function getPlacesThroughLib(params) {
18955
18872
  var _a, _b, _c;
18956
18873
  return __awaiter(this, void 0, void 0, function () {
18957
18874
  var location, bounds, keyword;
@@ -21352,7 +21269,7 @@ var TileRenderEngine;
21352
21269
  (function (Navigator) {
21353
21270
  function GetOrCreateLayer(params) {
21354
21271
  return __awaiter(this, void 0, void 0, function () {
21355
- var viewer, apiGetter, meta, CESIUM, enabled, i, layer, layerMeta, defaultImg, provider, NEEDS_CESIUM_TOKEN, shouldCreate, api, tileset, boundaries, settings, minLat, maxLat, minLon, maxLon, minLevel, maxLevel, hasLevels, url, settings_1, _a, cesiumIonKey, _b, mapboxKey, _c, layer;
21272
+ var viewer, apiGetter, meta, CESIUM, enabled, i, layer, layerMeta, defaultImg, provider, NEEDS_CESIUM_TOKEN, BING_MAPS_OPTIONS, shouldCreate, e_2, api, tileset, boundaries, settings, minLat, maxLat, minLon, maxLon, minLevel, maxLevel, hasLevels, url, settings_1, _a, cesiumIonKey, _b, mapboxKey, _c, layer;
21356
21273
  return __generator(this, function (_d) {
21357
21274
  switch (_d.label) {
21358
21275
  case 0:
@@ -21371,12 +21288,13 @@ var TileRenderEngine;
21371
21288
  }
21372
21289
  defaultImg = meta.accountId ? null : ProjectViewTile.DefaultImagery.find(function (x) { return x.id === meta.tilesetId; });
21373
21290
  provider = null;
21374
- if (!defaultImg) return [3 /*break*/, 5];
21291
+ if (!defaultImg) return [3 /*break*/, 14];
21375
21292
  NEEDS_CESIUM_TOKEN = [
21376
21293
  ProjectViewTile.EDefaultImagery.BingMapsAerial,
21377
21294
  ProjectViewTile.EDefaultImagery.BingMapsAerialWithLabels,
21378
- ProjectViewTile.EDefaultImagery.BingMapsAerialWithLabels,
21295
+ ProjectViewTile.EDefaultImagery.BingMapsRoads
21379
21296
  ];
21297
+ BING_MAPS_OPTIONS = [].concat(NEEDS_CESIUM_TOKEN);
21380
21298
  shouldCreate = true;
21381
21299
  if (!NEEDS_CESIUM_TOKEN.includes(defaultImg.id)) return [3 /*break*/, 2];
21382
21300
  return [4 /*yield*/, ViewerUtils.AssertIonToken(Ion.defaultAccessToken)];
@@ -21384,19 +21302,50 @@ var TileRenderEngine;
21384
21302
  shouldCreate = _d.sent();
21385
21303
  _d.label = 2;
21386
21304
  case 2:
21387
- if (!shouldCreate) return [3 /*break*/, 4];
21388
- return [4 /*yield*/, renderDefaultMapTile(apiGetter, defaultImg.id)];
21305
+ if (!shouldCreate) return [3 /*break*/, 13];
21306
+ _d.label = 3;
21389
21307
  case 3:
21308
+ _d.trys.push([3, 5, , 13]);
21309
+ if (BING_MAPS_OPTIONS.includes(defaultImg.id)) {
21310
+ throw new Error("Bing Maps is dead. Crashing now to avoid waiting 30 seconds for it to timeout.");
21311
+ }
21312
+ return [4 /*yield*/, renderDefaultMapTile(apiGetter, defaultImg.id)];
21313
+ case 4:
21390
21314
  provider = _d.sent();
21391
- _d.label = 4;
21392
- case 4: return [3 /*break*/, 31];
21315
+ return [3 /*break*/, 13];
21393
21316
  case 5:
21317
+ e_2 = _d.sent();
21318
+ console.error(e_2);
21319
+ if (!(defaultImg.id === ProjectViewTile.EDefaultImagery.BingMapsAerial)) return [3 /*break*/, 7];
21320
+ return [4 /*yield*/, renderDefaultMapTile(apiGetter, ProjectViewTile.EDefaultImagery.MapboxSatellite)];
21321
+ case 6:
21322
+ provider = _d.sent();
21323
+ console.warn("Bing Maps Aerial failed to load. Falling back to Mapbox Satellite.");
21324
+ return [3 /*break*/, 12];
21325
+ case 7:
21326
+ if (!(defaultImg.id === ProjectViewTile.EDefaultImagery.BingMapsAerialWithLabels)) return [3 /*break*/, 9];
21327
+ return [4 /*yield*/, renderDefaultMapTile(apiGetter, ProjectViewTile.EDefaultImagery.MapBoxStreets)];
21328
+ case 8:
21329
+ provider = _d.sent();
21330
+ console.warn("Bing Maps Aerial with Labels failed to load. Falling back to Mapbox Streets.");
21331
+ return [3 /*break*/, 12];
21332
+ case 9:
21333
+ if (!(defaultImg.id === ProjectViewTile.EDefaultImagery.BingMapsRoads)) return [3 /*break*/, 11];
21334
+ return [4 /*yield*/, renderDefaultMapTile(apiGetter, ProjectViewTile.EDefaultImagery.OpenStreetMap)];
21335
+ case 10:
21336
+ provider = _d.sent();
21337
+ console.warn("Bing Maps Roads failed to load. Falling back to OpenStreetMap.");
21338
+ return [3 /*break*/, 12];
21339
+ case 11: throw e_2;
21340
+ case 12: return [3 /*break*/, 13];
21341
+ case 13: return [3 /*break*/, 40];
21342
+ case 14:
21394
21343
  api = apiGetter.getApi(meta.accountId);
21395
21344
  // Ensure regional url is loaded.
21396
21345
  // When loading stuff in the same account as the default it's likely already loaded,
21397
21346
  // but if we just made an API instance for some external account then it won't be loaded yet.
21398
21347
  return [4 /*yield*/, api.Loading];
21399
- case 6:
21348
+ case 15:
21400
21349
  // Ensure regional url is loaded.
21401
21350
  // When loading stuff in the same account as the default it's likely already loaded,
21402
21351
  // but if we just made an API instance for some external account then it won't be loaded yet.
@@ -21405,7 +21354,7 @@ var TileRenderEngine;
21405
21354
  api: api,
21406
21355
  tilesetId: meta.tilesetId
21407
21356
  })];
21408
- case 7:
21357
+ case 16:
21409
21358
  tileset = (_d.sent()).tileset;
21410
21359
  boundaries = undefined;
21411
21360
  settings = tileset === null || tileset === void 0 ? void 0 : tileset.settings;
@@ -21419,8 +21368,8 @@ var TileRenderEngine;
21419
21368
  minLevel = settings === null || settings === void 0 ? void 0 : settings.levelMin;
21420
21369
  maxLevel = settings === null || settings === void 0 ? void 0 : settings.levelMax;
21421
21370
  hasLevels = !isNaN(minLevel) && !isNaN(maxLevel);
21422
- if (!(tileset.type === Tileset.EType.GeoMap)) return [3 /*break*/, 11];
21423
- if (!TileMapServiceImageryProvider.hasOwnProperty("fromUrl")) return [3 /*break*/, 9];
21371
+ if (!(tileset.type === Tileset.EType.GeoMap)) return [3 /*break*/, 20];
21372
+ if (!TileMapServiceImageryProvider.hasOwnProperty("fromUrl")) return [3 /*break*/, 18];
21424
21373
  url = Tileset.GetPublicFileUrl({
21425
21374
  api: api,
21426
21375
  tilesetId: meta.tilesetId,
@@ -21435,10 +21384,10 @@ var TileRenderEngine;
21435
21384
  maximumLevel: hasLevels ? maxLevel : undefined,
21436
21385
  minimumLevel: hasLevels ? minLevel : undefined,
21437
21386
  })];
21438
- case 8:
21387
+ case 17:
21439
21388
  provider = _d.sent();
21440
- return [3 /*break*/, 10];
21441
- case 9:
21389
+ return [3 /*break*/, 19];
21390
+ case 18:
21442
21391
  provider = new CESIUM.TileMapServiceImageryProvider({
21443
21392
  url: Tileset.GetPublicFileUrl({
21444
21393
  api: api,
@@ -21453,53 +21402,53 @@ var TileRenderEngine;
21453
21402
  maximumLevel: hasLevels ? maxLevel : undefined,
21454
21403
  minimumLevel: hasLevels ? minLevel : undefined,
21455
21404
  });
21456
- _d.label = 10;
21457
- case 10: return [3 /*break*/, 31];
21458
- case 11:
21459
- if (!(tileset.type === Tileset.EType.ExternalGeoMap)) return [3 /*break*/, 30];
21405
+ _d.label = 19;
21406
+ case 19: return [3 /*break*/, 40];
21407
+ case 20:
21408
+ if (!(tileset.type === Tileset.EType.ExternalGeoMap)) return [3 /*break*/, 39];
21460
21409
  settings_1 = tileset.settings;
21461
21410
  _a = settings_1.mapType;
21462
21411
  switch (_a) {
21463
- case Tileset.Settings.EExternalMapType.CesiumIon: return [3 /*break*/, 12];
21464
- case Tileset.Settings.EExternalMapType.MapBoxImagery: return [3 /*break*/, 19];
21465
- case Tileset.Settings.EExternalMapType.OpenStreetMapImagery: return [3 /*break*/, 23];
21466
- case Tileset.Settings.EExternalMapType.TileMapImagery: return [3 /*break*/, 24];
21467
- case Tileset.Settings.EExternalMapType.CustomTemplate: return [3 /*break*/, 28];
21412
+ case Tileset.Settings.EExternalMapType.CesiumIon: return [3 /*break*/, 21];
21413
+ case Tileset.Settings.EExternalMapType.MapBoxImagery: return [3 /*break*/, 28];
21414
+ case Tileset.Settings.EExternalMapType.OpenStreetMapImagery: return [3 /*break*/, 32];
21415
+ case Tileset.Settings.EExternalMapType.TileMapImagery: return [3 /*break*/, 33];
21416
+ case Tileset.Settings.EExternalMapType.CustomTemplate: return [3 /*break*/, 37];
21468
21417
  }
21469
- return [3 /*break*/, 29];
21470
- case 12:
21471
- if (!settings_1.key) return [3 /*break*/, 13];
21418
+ return [3 /*break*/, 38];
21419
+ case 21:
21420
+ if (!settings_1.key) return [3 /*break*/, 22];
21472
21421
  _b = settings_1.key;
21473
- return [3 /*break*/, 15];
21474
- case 13: return [4 /*yield*/, findKey(apiGetter, ProgramKey.EProgramId.CesiumIon, null)];
21475
- case 14:
21422
+ return [3 /*break*/, 24];
21423
+ case 22: return [4 /*yield*/, findKey(apiGetter, ProgramKey.EProgramId.CesiumIon, null)];
21424
+ case 23:
21476
21425
  _b = _d.sent();
21477
- _d.label = 15;
21478
- case 15:
21426
+ _d.label = 24;
21427
+ case 24:
21479
21428
  cesiumIonKey = _b;
21480
- if (!IonImageryProvider.hasOwnProperty("fromAssetId")) return [3 /*break*/, 17];
21429
+ if (!IonImageryProvider.hasOwnProperty("fromAssetId")) return [3 /*break*/, 26];
21481
21430
  return [4 /*yield*/, CESIUM.IonImageryProvider.fromAssetId(Number(settings_1.externalId), {
21482
21431
  accessToken: cesiumIonKey
21483
21432
  })];
21484
- case 16:
21433
+ case 25:
21485
21434
  provider = _d.sent();
21486
- return [3 /*break*/, 18];
21487
- case 17:
21435
+ return [3 /*break*/, 27];
21436
+ case 26:
21488
21437
  provider = new CESIUM.IonImageryProvider({
21489
21438
  assetId: Number(settings_1.externalId),
21490
21439
  accessToken: cesiumIonKey
21491
21440
  });
21492
- _d.label = 18;
21493
- case 18: return [3 /*break*/, 29];
21494
- case 19:
21495
- if (!settings_1.key) return [3 /*break*/, 20];
21441
+ _d.label = 27;
21442
+ case 27: return [3 /*break*/, 38];
21443
+ case 28:
21444
+ if (!settings_1.key) return [3 /*break*/, 29];
21496
21445
  _c = settings_1.key;
21497
- return [3 /*break*/, 22];
21498
- case 20: return [4 /*yield*/, findKey(apiGetter, ProgramKey.EProgramId.Mapbox, null)];
21499
- case 21:
21446
+ return [3 /*break*/, 31];
21447
+ case 29: return [4 /*yield*/, findKey(apiGetter, ProgramKey.EProgramId.Mapbox, null)];
21448
+ case 30:
21500
21449
  _c = _d.sent();
21501
- _d.label = 22;
21502
- case 22:
21450
+ _d.label = 31;
21451
+ case 31:
21503
21452
  mapboxKey = _c;
21504
21453
  provider = new UrlTemplateImageryProvider({
21505
21454
  url: "https://api.mapbox.com/styles/v1/"
@@ -21507,8 +21456,8 @@ var TileRenderEngine;
21507
21456
  "/tiles/256/{z}/{x}/{y}?access_token="
21508
21457
  + mapboxKey
21509
21458
  });
21510
- return [3 /*break*/, 29];
21511
- case 23:
21459
+ return [3 /*break*/, 38];
21460
+ case 32:
21512
21461
  provider = new OpenStreetMapImageryProvider({
21513
21462
  url: settings_1.url,
21514
21463
  fileExtension: prepareFileExt(settings_1.fileExtension),
@@ -21517,9 +21466,9 @@ var TileRenderEngine;
21517
21466
  // maximumLevel: hasLevels ? maxLevel : undefined,
21518
21467
  // minimumLevel: hasLevels ? minLevel : undefined,
21519
21468
  });
21520
- return [3 /*break*/, 29];
21521
- case 24:
21522
- if (!TileMapServiceImageryProvider.hasOwnProperty("fromUrl")) return [3 /*break*/, 26];
21469
+ return [3 /*break*/, 38];
21470
+ case 33:
21471
+ if (!TileMapServiceImageryProvider.hasOwnProperty("fromUrl")) return [3 /*break*/, 35];
21523
21472
  return [4 /*yield*/, CESIUM.TileMapServiceImageryProvider.fromUrl(settings_1.url, {
21524
21473
  fileExtension: prepareFileExt(settings_1.fileExtension),
21525
21474
  // Unused until tested properly. In the past these settings caused large lag.
@@ -21527,10 +21476,10 @@ var TileRenderEngine;
21527
21476
  // maximumLevel: hasLevels ? maxLevel : undefined,
21528
21477
  // minimumLevel: hasLevels ? minLevel : undefined,
21529
21478
  })];
21530
- case 25:
21479
+ case 34:
21531
21480
  provider = _d.sent();
21532
- return [3 /*break*/, 27];
21533
- case 26:
21481
+ return [3 /*break*/, 36];
21482
+ case 35:
21534
21483
  provider = new CESIUM.TileMapServiceImageryProvider({
21535
21484
  url: settings_1.url,
21536
21485
  fileExtension: prepareFileExt(settings_1.fileExtension),
@@ -21539,15 +21488,15 @@ var TileRenderEngine;
21539
21488
  // maximumLevel: hasLevels ? maxLevel : undefined,
21540
21489
  // minimumLevel: hasLevels ? minLevel : undefined,
21541
21490
  });
21542
- _d.label = 27;
21543
- case 27: return [3 /*break*/, 29];
21544
- case 28:
21491
+ _d.label = 36;
21492
+ case 36: return [3 /*break*/, 38];
21493
+ case 37:
21545
21494
  provider = new UrlTemplateImageryProvider({
21546
21495
  url: settings_1.url
21547
21496
  });
21548
- return [3 /*break*/, 29];
21549
- case 29: return [3 /*break*/, 31];
21550
- case 30:
21497
+ return [3 /*break*/, 38];
21498
+ case 38: return [3 /*break*/, 40];
21499
+ case 39:
21551
21500
  if (tileset.type === Tileset.EType.EntitiesMap) {
21552
21501
  provider = new UrlTemplateImageryProvider({
21553
21502
  url: Tileset.GetPublicFileUrl({
@@ -21565,8 +21514,8 @@ var TileRenderEngine;
21565
21514
  // maximumLevel: hasLevels ? maxLevel : undefined,
21566
21515
  });
21567
21516
  }
21568
- _d.label = 31;
21569
- case 31:
21517
+ _d.label = 40;
21518
+ case 40:
21570
21519
  if (provider) {
21571
21520
  layer = viewer.imageryLayers.addImageryProvider(provider);
21572
21521
  layer._bMeta = meta;
@@ -21582,7 +21531,7 @@ var TileRenderEngine;
21582
21531
  Navigator.GetOrCreateLayer = GetOrCreateLayer;
21583
21532
  function Render(params) {
21584
21533
  return __awaiter(this, void 0, void 0, function () {
21585
- var tmpTiles, _loop_2, i, organize, iteration, curEnabled, toDisable, _loop_3, i, i, organized, i, enabled;
21534
+ var tmpTiles, _loop_2, i, organize, iteration, curEnabled, toDisable, _loop_3, i, i, organized, i, enabled, e_3;
21586
21535
  return __generator(this, function (_a) {
21587
21536
  switch (_a.label) {
21588
21537
  case 0:
@@ -21645,8 +21594,11 @@ var TileRenderEngine;
21645
21594
  i = 0;
21646
21595
  _a.label = 1;
21647
21596
  case 1:
21648
- if (!(i < params.tiles.length)) return [3 /*break*/, 4];
21597
+ if (!(i < params.tiles.length)) return [3 /*break*/, 7];
21649
21598
  enabled = params.tiles[i];
21599
+ _a.label = 2;
21600
+ case 2:
21601
+ _a.trys.push([2, 4, , 5]);
21650
21602
  return [4 /*yield*/, GetOrCreateLayer({
21651
21603
  viewer: params.viewer,
21652
21604
  apiGetter: params.apiGetter,
@@ -21655,8 +21607,14 @@ var TileRenderEngine;
21655
21607
  tilesetId: enabled.tilesetId,
21656
21608
  }
21657
21609
  })];
21658
- case 2:
21610
+ case 3:
21659
21611
  _a.sent();
21612
+ return [3 /*break*/, 5];
21613
+ case 4:
21614
+ e_3 = _a.sent();
21615
+ console.error(e_3);
21616
+ return [3 /*break*/, 5];
21617
+ case 5:
21660
21618
  if (!assertIteration(params.viewer, iteration)) {
21661
21619
  return [2 /*return*/];
21662
21620
  }
@@ -21664,11 +21622,11 @@ var TileRenderEngine;
21664
21622
  // We want to ensure what the user sees is as close to correct as we can get.
21665
21623
  organize();
21666
21624
  organized = true;
21667
- _a.label = 3;
21668
- case 3:
21625
+ _a.label = 6;
21626
+ case 6:
21669
21627
  i++;
21670
21628
  return [3 /*break*/, 1];
21671
- case 4:
21629
+ case 7:
21672
21630
  if (!organized) {
21673
21631
  organize();
21674
21632
  }
@@ -26338,7 +26296,7 @@ var ViewerUtils;
26338
26296
  ViewerUtils.AssertIonToken = AssertIonToken;
26339
26297
  })(ViewerUtils || (ViewerUtils = {}));
26340
26298
 
26341
- var VERSION = "4.4.0";
26299
+ var VERSION = "4.4.2";
26342
26300
 
26343
26301
  export { VERSION, CesiumViewMonitor, ViewerUtils, MenuItemManager, EntityRenderEngine, MenuItemCreator, VisualsRegister, RenderManager, EntitiesIdsRenderManager, EntitiesLoadedRenderManager, EntitiesRenderManager, EntityRenderManager, TilesetCadRenderManager, TilesetArbRenderManager, TilesetEntitiesRenderManager, TilesetOsmRenderManager, TilesetPointcloudRenderManager, TilesetGooglePhotosRenderManager, DataSourceStaticKmlManager, GoogleSearchRenderManager, RelationsRenderManager, SharedGetters, CesiumParabola, EntityLabel, ViewRenderEngine, TileRenderEngine, TilesetRenderEngine, CESIUM_INSPECTOR_KEY, CESIUM_TIMELINE_KEY, ViewUtils, DrawingUtils, MeasureUtils, EntityUtils, CesiumEntityStyler, CesiumAnimatedProperty, CesiumAnimatedInOut, Draw3dPolygon, Draw3dPolyline, MeasureCreator, Widget, VIEWER_BOOKMARKS_WIDGET_KEY, WidgetBookmarks, WidgetBranding, WidgetCursorBar, WidgetEmbeddedInfoView, WidgetInfoView, WidgetNavCompass$$1 as WidgetNavCompass, WidgetSearchBar, VIEWER_LEFT_PANEL_WIDGET_KEY, VIEWER_LEFT_PANEL_CSS_VAR_LEFT, WidgetLeftPanel, WidgetLeftPanelTab, WidgetLeftPanelTabBookmarks };
26344
26302
  //# sourceMappingURL=bruce-cesium.es5.js.map