bruce-cesium 4.4.1 → 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.
@@ -13638,7 +13638,6 @@
13638
13638
  return __generator(this, function (_a) {
13639
13639
  switch (_a.label) {
13640
13640
  case 0:
13641
- console.log(params.noMemoryLimit);
13642
13641
  api = params.apiGetter.getApi(params.accountId);
13643
13642
  // Ensure regional url is loaded.
13644
13643
  return [4 /*yield*/, api.Loading];
@@ -21200,7 +21199,7 @@
21200
21199
  (function (Navigator) {
21201
21200
  function GetOrCreateLayer(params) {
21202
21201
  return __awaiter(this, void 0, void 0, function () {
21203
- 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;
21202
+ 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;
21204
21203
  return __generator(this, function (_d) {
21205
21204
  switch (_d.label) {
21206
21205
  case 0:
@@ -21219,12 +21218,13 @@
21219
21218
  }
21220
21219
  defaultImg = meta.accountId ? null : BModels.ProjectViewTile.DefaultImagery.find(function (x) { return x.id === meta.tilesetId; });
21221
21220
  provider = null;
21222
- if (!defaultImg) return [3 /*break*/, 5];
21221
+ if (!defaultImg) return [3 /*break*/, 14];
21223
21222
  NEEDS_CESIUM_TOKEN = [
21224
21223
  BModels.ProjectViewTile.EDefaultImagery.BingMapsAerial,
21225
21224
  BModels.ProjectViewTile.EDefaultImagery.BingMapsAerialWithLabels,
21226
- BModels.ProjectViewTile.EDefaultImagery.BingMapsAerialWithLabels,
21225
+ BModels.ProjectViewTile.EDefaultImagery.BingMapsRoads
21227
21226
  ];
21227
+ BING_MAPS_OPTIONS = [].concat(NEEDS_CESIUM_TOKEN);
21228
21228
  shouldCreate = true;
21229
21229
  if (!NEEDS_CESIUM_TOKEN.includes(defaultImg.id)) return [3 /*break*/, 2];
21230
21230
  return [4 /*yield*/, exports.ViewerUtils.AssertIonToken(Cesium.Ion.defaultAccessToken)];
@@ -21232,19 +21232,50 @@
21232
21232
  shouldCreate = _d.sent();
21233
21233
  _d.label = 2;
21234
21234
  case 2:
21235
- if (!shouldCreate) return [3 /*break*/, 4];
21236
- return [4 /*yield*/, renderDefaultMapTile(apiGetter, defaultImg.id)];
21235
+ if (!shouldCreate) return [3 /*break*/, 13];
21236
+ _d.label = 3;
21237
21237
  case 3:
21238
+ _d.trys.push([3, 5, , 13]);
21239
+ if (BING_MAPS_OPTIONS.includes(defaultImg.id)) {
21240
+ throw new Error("Bing Maps is dead. Crashing now to avoid waiting 30 seconds for it to timeout.");
21241
+ }
21242
+ return [4 /*yield*/, renderDefaultMapTile(apiGetter, defaultImg.id)];
21243
+ case 4:
21238
21244
  provider = _d.sent();
21239
- _d.label = 4;
21240
- case 4: return [3 /*break*/, 31];
21245
+ return [3 /*break*/, 13];
21241
21246
  case 5:
21247
+ e_2 = _d.sent();
21248
+ console.error(e_2);
21249
+ if (!(defaultImg.id === BModels.ProjectViewTile.EDefaultImagery.BingMapsAerial)) return [3 /*break*/, 7];
21250
+ return [4 /*yield*/, renderDefaultMapTile(apiGetter, BModels.ProjectViewTile.EDefaultImagery.MapboxSatellite)];
21251
+ case 6:
21252
+ provider = _d.sent();
21253
+ console.warn("Bing Maps Aerial failed to load. Falling back to Mapbox Satellite.");
21254
+ return [3 /*break*/, 12];
21255
+ case 7:
21256
+ if (!(defaultImg.id === BModels.ProjectViewTile.EDefaultImagery.BingMapsAerialWithLabels)) return [3 /*break*/, 9];
21257
+ return [4 /*yield*/, renderDefaultMapTile(apiGetter, BModels.ProjectViewTile.EDefaultImagery.MapBoxStreets)];
21258
+ case 8:
21259
+ provider = _d.sent();
21260
+ console.warn("Bing Maps Aerial with Labels failed to load. Falling back to Mapbox Streets.");
21261
+ return [3 /*break*/, 12];
21262
+ case 9:
21263
+ if (!(defaultImg.id === BModels.ProjectViewTile.EDefaultImagery.BingMapsRoads)) return [3 /*break*/, 11];
21264
+ return [4 /*yield*/, renderDefaultMapTile(apiGetter, BModels.ProjectViewTile.EDefaultImagery.OpenStreetMap)];
21265
+ case 10:
21266
+ provider = _d.sent();
21267
+ console.warn("Bing Maps Roads failed to load. Falling back to OpenStreetMap.");
21268
+ return [3 /*break*/, 12];
21269
+ case 11: throw e_2;
21270
+ case 12: return [3 /*break*/, 13];
21271
+ case 13: return [3 /*break*/, 40];
21272
+ case 14:
21242
21273
  api = apiGetter.getApi(meta.accountId);
21243
21274
  // Ensure regional url is loaded.
21244
21275
  // When loading stuff in the same account as the default it's likely already loaded,
21245
21276
  // but if we just made an API instance for some external account then it won't be loaded yet.
21246
21277
  return [4 /*yield*/, api.Loading];
21247
- case 6:
21278
+ case 15:
21248
21279
  // Ensure regional url is loaded.
21249
21280
  // When loading stuff in the same account as the default it's likely already loaded,
21250
21281
  // but if we just made an API instance for some external account then it won't be loaded yet.
@@ -21253,7 +21284,7 @@
21253
21284
  api: api,
21254
21285
  tilesetId: meta.tilesetId
21255
21286
  })];
21256
- case 7:
21287
+ case 16:
21257
21288
  tileset = (_d.sent()).tileset;
21258
21289
  boundaries = undefined;
21259
21290
  settings = tileset === null || tileset === void 0 ? void 0 : tileset.settings;
@@ -21267,8 +21298,8 @@
21267
21298
  minLevel = settings === null || settings === void 0 ? void 0 : settings.levelMin;
21268
21299
  maxLevel = settings === null || settings === void 0 ? void 0 : settings.levelMax;
21269
21300
  hasLevels = !isNaN(minLevel) && !isNaN(maxLevel);
21270
- if (!(tileset.type === BModels.Tileset.EType.GeoMap)) return [3 /*break*/, 11];
21271
- if (!Cesium.TileMapServiceImageryProvider.hasOwnProperty("fromUrl")) return [3 /*break*/, 9];
21301
+ if (!(tileset.type === BModels.Tileset.EType.GeoMap)) return [3 /*break*/, 20];
21302
+ if (!Cesium.TileMapServiceImageryProvider.hasOwnProperty("fromUrl")) return [3 /*break*/, 18];
21272
21303
  url = BModels.Tileset.GetPublicFileUrl({
21273
21304
  api: api,
21274
21305
  tilesetId: meta.tilesetId,
@@ -21283,10 +21314,10 @@
21283
21314
  maximumLevel: hasLevels ? maxLevel : undefined,
21284
21315
  minimumLevel: hasLevels ? minLevel : undefined,
21285
21316
  })];
21286
- case 8:
21317
+ case 17:
21287
21318
  provider = _d.sent();
21288
- return [3 /*break*/, 10];
21289
- case 9:
21319
+ return [3 /*break*/, 19];
21320
+ case 18:
21290
21321
  provider = new CESIUM.TileMapServiceImageryProvider({
21291
21322
  url: BModels.Tileset.GetPublicFileUrl({
21292
21323
  api: api,
@@ -21301,53 +21332,53 @@
21301
21332
  maximumLevel: hasLevels ? maxLevel : undefined,
21302
21333
  minimumLevel: hasLevels ? minLevel : undefined,
21303
21334
  });
21304
- _d.label = 10;
21305
- case 10: return [3 /*break*/, 31];
21306
- case 11:
21307
- if (!(tileset.type === BModels.Tileset.EType.ExternalGeoMap)) return [3 /*break*/, 30];
21335
+ _d.label = 19;
21336
+ case 19: return [3 /*break*/, 40];
21337
+ case 20:
21338
+ if (!(tileset.type === BModels.Tileset.EType.ExternalGeoMap)) return [3 /*break*/, 39];
21308
21339
  settings_1 = tileset.settings;
21309
21340
  _a = settings_1.mapType;
21310
21341
  switch (_a) {
21311
- case BModels.Tileset.Settings.EExternalMapType.CesiumIon: return [3 /*break*/, 12];
21312
- case BModels.Tileset.Settings.EExternalMapType.MapBoxImagery: return [3 /*break*/, 19];
21313
- case BModels.Tileset.Settings.EExternalMapType.OpenStreetMapImagery: return [3 /*break*/, 23];
21314
- case BModels.Tileset.Settings.EExternalMapType.TileMapImagery: return [3 /*break*/, 24];
21315
- case BModels.Tileset.Settings.EExternalMapType.CustomTemplate: return [3 /*break*/, 28];
21342
+ case BModels.Tileset.Settings.EExternalMapType.CesiumIon: return [3 /*break*/, 21];
21343
+ case BModels.Tileset.Settings.EExternalMapType.MapBoxImagery: return [3 /*break*/, 28];
21344
+ case BModels.Tileset.Settings.EExternalMapType.OpenStreetMapImagery: return [3 /*break*/, 32];
21345
+ case BModels.Tileset.Settings.EExternalMapType.TileMapImagery: return [3 /*break*/, 33];
21346
+ case BModels.Tileset.Settings.EExternalMapType.CustomTemplate: return [3 /*break*/, 37];
21316
21347
  }
21317
- return [3 /*break*/, 29];
21318
- case 12:
21319
- if (!settings_1.key) return [3 /*break*/, 13];
21348
+ return [3 /*break*/, 38];
21349
+ case 21:
21350
+ if (!settings_1.key) return [3 /*break*/, 22];
21320
21351
  _b = settings_1.key;
21321
- return [3 /*break*/, 15];
21322
- case 13: return [4 /*yield*/, findKey(apiGetter, BModels.ProgramKey.EProgramId.CesiumIon, null)];
21323
- case 14:
21352
+ return [3 /*break*/, 24];
21353
+ case 22: return [4 /*yield*/, findKey(apiGetter, BModels.ProgramKey.EProgramId.CesiumIon, null)];
21354
+ case 23:
21324
21355
  _b = _d.sent();
21325
- _d.label = 15;
21326
- case 15:
21356
+ _d.label = 24;
21357
+ case 24:
21327
21358
  cesiumIonKey = _b;
21328
- if (!Cesium.IonImageryProvider.hasOwnProperty("fromAssetId")) return [3 /*break*/, 17];
21359
+ if (!Cesium.IonImageryProvider.hasOwnProperty("fromAssetId")) return [3 /*break*/, 26];
21329
21360
  return [4 /*yield*/, CESIUM.IonImageryProvider.fromAssetId(Number(settings_1.externalId), {
21330
21361
  accessToken: cesiumIonKey
21331
21362
  })];
21332
- case 16:
21363
+ case 25:
21333
21364
  provider = _d.sent();
21334
- return [3 /*break*/, 18];
21335
- case 17:
21365
+ return [3 /*break*/, 27];
21366
+ case 26:
21336
21367
  provider = new CESIUM.IonImageryProvider({
21337
21368
  assetId: Number(settings_1.externalId),
21338
21369
  accessToken: cesiumIonKey
21339
21370
  });
21340
- _d.label = 18;
21341
- case 18: return [3 /*break*/, 29];
21342
- case 19:
21343
- if (!settings_1.key) return [3 /*break*/, 20];
21371
+ _d.label = 27;
21372
+ case 27: return [3 /*break*/, 38];
21373
+ case 28:
21374
+ if (!settings_1.key) return [3 /*break*/, 29];
21344
21375
  _c = settings_1.key;
21345
- return [3 /*break*/, 22];
21346
- case 20: return [4 /*yield*/, findKey(apiGetter, BModels.ProgramKey.EProgramId.Mapbox, null)];
21347
- case 21:
21376
+ return [3 /*break*/, 31];
21377
+ case 29: return [4 /*yield*/, findKey(apiGetter, BModels.ProgramKey.EProgramId.Mapbox, null)];
21378
+ case 30:
21348
21379
  _c = _d.sent();
21349
- _d.label = 22;
21350
- case 22:
21380
+ _d.label = 31;
21381
+ case 31:
21351
21382
  mapboxKey = _c;
21352
21383
  provider = new Cesium.UrlTemplateImageryProvider({
21353
21384
  url: "https://api.mapbox.com/styles/v1/"
@@ -21355,8 +21386,8 @@
21355
21386
  "/tiles/256/{z}/{x}/{y}?access_token="
21356
21387
  + mapboxKey
21357
21388
  });
21358
- return [3 /*break*/, 29];
21359
- case 23:
21389
+ return [3 /*break*/, 38];
21390
+ case 32:
21360
21391
  provider = new Cesium.OpenStreetMapImageryProvider({
21361
21392
  url: settings_1.url,
21362
21393
  fileExtension: prepareFileExt(settings_1.fileExtension),
@@ -21365,9 +21396,9 @@
21365
21396
  // maximumLevel: hasLevels ? maxLevel : undefined,
21366
21397
  // minimumLevel: hasLevels ? minLevel : undefined,
21367
21398
  });
21368
- return [3 /*break*/, 29];
21369
- case 24:
21370
- if (!Cesium.TileMapServiceImageryProvider.hasOwnProperty("fromUrl")) return [3 /*break*/, 26];
21399
+ return [3 /*break*/, 38];
21400
+ case 33:
21401
+ if (!Cesium.TileMapServiceImageryProvider.hasOwnProperty("fromUrl")) return [3 /*break*/, 35];
21371
21402
  return [4 /*yield*/, CESIUM.TileMapServiceImageryProvider.fromUrl(settings_1.url, {
21372
21403
  fileExtension: prepareFileExt(settings_1.fileExtension),
21373
21404
  // Unused until tested properly. In the past these settings caused large lag.
@@ -21375,10 +21406,10 @@
21375
21406
  // maximumLevel: hasLevels ? maxLevel : undefined,
21376
21407
  // minimumLevel: hasLevels ? minLevel : undefined,
21377
21408
  })];
21378
- case 25:
21409
+ case 34:
21379
21410
  provider = _d.sent();
21380
- return [3 /*break*/, 27];
21381
- case 26:
21411
+ return [3 /*break*/, 36];
21412
+ case 35:
21382
21413
  provider = new CESIUM.TileMapServiceImageryProvider({
21383
21414
  url: settings_1.url,
21384
21415
  fileExtension: prepareFileExt(settings_1.fileExtension),
@@ -21387,15 +21418,15 @@
21387
21418
  // maximumLevel: hasLevels ? maxLevel : undefined,
21388
21419
  // minimumLevel: hasLevels ? minLevel : undefined,
21389
21420
  });
21390
- _d.label = 27;
21391
- case 27: return [3 /*break*/, 29];
21392
- case 28:
21421
+ _d.label = 36;
21422
+ case 36: return [3 /*break*/, 38];
21423
+ case 37:
21393
21424
  provider = new Cesium.UrlTemplateImageryProvider({
21394
21425
  url: settings_1.url
21395
21426
  });
21396
- return [3 /*break*/, 29];
21397
- case 29: return [3 /*break*/, 31];
21398
- case 30:
21427
+ return [3 /*break*/, 38];
21428
+ case 38: return [3 /*break*/, 40];
21429
+ case 39:
21399
21430
  if (tileset.type === BModels.Tileset.EType.EntitiesMap) {
21400
21431
  provider = new Cesium.UrlTemplateImageryProvider({
21401
21432
  url: BModels.Tileset.GetPublicFileUrl({
@@ -21413,8 +21444,8 @@
21413
21444
  // maximumLevel: hasLevels ? maxLevel : undefined,
21414
21445
  });
21415
21446
  }
21416
- _d.label = 31;
21417
- case 31:
21447
+ _d.label = 40;
21448
+ case 40:
21418
21449
  if (provider) {
21419
21450
  layer = viewer.imageryLayers.addImageryProvider(provider);
21420
21451
  layer._bMeta = meta;
@@ -21430,7 +21461,7 @@
21430
21461
  Navigator.GetOrCreateLayer = GetOrCreateLayer;
21431
21462
  function Render(params) {
21432
21463
  return __awaiter(this, void 0, void 0, function () {
21433
- var tmpTiles, _loop_2, i, organize, iteration, curEnabled, toDisable, _loop_3, i, i, organized, i, enabled;
21464
+ var tmpTiles, _loop_2, i, organize, iteration, curEnabled, toDisable, _loop_3, i, i, organized, i, enabled, e_3;
21434
21465
  return __generator(this, function (_a) {
21435
21466
  switch (_a.label) {
21436
21467
  case 0:
@@ -21493,8 +21524,11 @@
21493
21524
  i = 0;
21494
21525
  _a.label = 1;
21495
21526
  case 1:
21496
- if (!(i < params.tiles.length)) return [3 /*break*/, 4];
21527
+ if (!(i < params.tiles.length)) return [3 /*break*/, 7];
21497
21528
  enabled = params.tiles[i];
21529
+ _a.label = 2;
21530
+ case 2:
21531
+ _a.trys.push([2, 4, , 5]);
21498
21532
  return [4 /*yield*/, GetOrCreateLayer({
21499
21533
  viewer: params.viewer,
21500
21534
  apiGetter: params.apiGetter,
@@ -21503,8 +21537,14 @@
21503
21537
  tilesetId: enabled.tilesetId,
21504
21538
  }
21505
21539
  })];
21506
- case 2:
21540
+ case 3:
21507
21541
  _a.sent();
21542
+ return [3 /*break*/, 5];
21543
+ case 4:
21544
+ e_3 = _a.sent();
21545
+ console.error(e_3);
21546
+ return [3 /*break*/, 5];
21547
+ case 5:
21508
21548
  if (!assertIteration(params.viewer, iteration)) {
21509
21549
  return [2 /*return*/];
21510
21550
  }
@@ -21512,11 +21552,11 @@
21512
21552
  // We want to ensure what the user sees is as close to correct as we can get.
21513
21553
  organize();
21514
21554
  organized = true;
21515
- _a.label = 3;
21516
- case 3:
21555
+ _a.label = 6;
21556
+ case 6:
21517
21557
  i++;
21518
21558
  return [3 /*break*/, 1];
21519
- case 4:
21559
+ case 7:
21520
21560
  if (!organized) {
21521
21561
  organize();
21522
21562
  }
@@ -26179,7 +26219,7 @@
26179
26219
  ViewerUtils.AssertIonToken = AssertIonToken;
26180
26220
  })(exports.ViewerUtils || (exports.ViewerUtils = {}));
26181
26221
 
26182
- var VERSION = "4.4.1";
26222
+ var VERSION = "4.4.2";
26183
26223
 
26184
26224
  exports.VERSION = VERSION;
26185
26225
  exports.CesiumParabola = CesiumParabola;