bruce-cesium 5.7.7 → 5.7.9

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.
Files changed (230) hide show
  1. package/package.json +2 -2
  2. package/dist/bruce-cesium.es5.js +0 -32263
  3. package/dist/bruce-cesium.es5.js.map +0 -1
  4. package/dist/bruce-cesium.umd.js +0 -32187
  5. package/dist/bruce-cesium.umd.js.map +0 -1
  6. package/dist/lib/bruce-cesium.js +0 -76
  7. package/dist/lib/bruce-cesium.js.map +0 -1
  8. package/dist/lib/internal/cesium-utils.js +0 -109
  9. package/dist/lib/internal/cesium-utils.js.map +0 -1
  10. package/dist/lib/internal/js-utils.js +0 -22
  11. package/dist/lib/internal/js-utils.js.map +0 -1
  12. package/dist/lib/internal/limited-log.js +0 -17
  13. package/dist/lib/internal/limited-log.js.map +0 -1
  14. package/dist/lib/rendering/cesium-animated-in-out.js +0 -166
  15. package/dist/lib/rendering/cesium-animated-in-out.js.map +0 -1
  16. package/dist/lib/rendering/cesium-animated-property.js +0 -1111
  17. package/dist/lib/rendering/cesium-animated-property.js.map +0 -1
  18. package/dist/lib/rendering/entity-gatherer.js +0 -327
  19. package/dist/lib/rendering/entity-gatherer.js.map +0 -1
  20. package/dist/lib/rendering/entity-render-engine-model3d.js +0 -689
  21. package/dist/lib/rendering/entity-render-engine-model3d.js.map +0 -1
  22. package/dist/lib/rendering/entity-render-engine-point.js +0 -984
  23. package/dist/lib/rendering/entity-render-engine-point.js.map +0 -1
  24. package/dist/lib/rendering/entity-render-engine-polygon.js +0 -669
  25. package/dist/lib/rendering/entity-render-engine-polygon.js.map +0 -1
  26. package/dist/lib/rendering/entity-render-engine-polyline.js +0 -415
  27. package/dist/lib/rendering/entity-render-engine-polyline.js.map +0 -1
  28. package/dist/lib/rendering/entity-render-engine.js +0 -442
  29. package/dist/lib/rendering/entity-render-engine.js.map +0 -1
  30. package/dist/lib/rendering/getters/batched-data-getter.js +0 -91
  31. package/dist/lib/rendering/getters/batched-data-getter.js.map +0 -1
  32. package/dist/lib/rendering/getters/entity-filter-getter.js +0 -634
  33. package/dist/lib/rendering/getters/entity-filter-getter.js.map +0 -1
  34. package/dist/lib/rendering/getters/entity-globe.js +0 -172
  35. package/dist/lib/rendering/getters/entity-globe.js.map +0 -1
  36. package/dist/lib/rendering/menu-item-creator.js +0 -354
  37. package/dist/lib/rendering/menu-item-creator.js.map +0 -1
  38. package/dist/lib/rendering/menu-item-manager.js +0 -464
  39. package/dist/lib/rendering/menu-item-manager.js.map +0 -1
  40. package/dist/lib/rendering/relation-render-engine.js +0 -235
  41. package/dist/lib/rendering/relation-render-engine.js.map +0 -1
  42. package/dist/lib/rendering/render-managers/common/cesium-parabola.js +0 -368
  43. package/dist/lib/rendering/render-managers/common/cesium-parabola.js.map +0 -1
  44. package/dist/lib/rendering/render-managers/common/entity-label.js +0 -703
  45. package/dist/lib/rendering/render-managers/common/entity-label.js.map +0 -1
  46. package/dist/lib/rendering/render-managers/common/point-clustering.js +0 -826
  47. package/dist/lib/rendering/render-managers/common/point-clustering.js.map +0 -1
  48. package/dist/lib/rendering/render-managers/common/shared-getters.js +0 -187
  49. package/dist/lib/rendering/render-managers/common/shared-getters.js.map +0 -1
  50. package/dist/lib/rendering/render-managers/data-source/data-source-static-csv-manager.js +0 -668
  51. package/dist/lib/rendering/render-managers/data-source/data-source-static-csv-manager.js.map +0 -1
  52. package/dist/lib/rendering/render-managers/data-source/data-source-static-kml-manager.js +0 -92
  53. package/dist/lib/rendering/render-managers/data-source/data-source-static-kml-manager.js.map +0 -1
  54. package/dist/lib/rendering/render-managers/entities/entities-datalab-render-manager.js +0 -143
  55. package/dist/lib/rendering/render-managers/entities/entities-datalab-render-manager.js.map +0 -1
  56. package/dist/lib/rendering/render-managers/entities/entities-ids-render-manager.js +0 -510
  57. package/dist/lib/rendering/render-managers/entities/entities-ids-render-manager.js.map +0 -1
  58. package/dist/lib/rendering/render-managers/entities/entities-loaded-render-manager.js +0 -717
  59. package/dist/lib/rendering/render-managers/entities/entities-loaded-render-manager.js.map +0 -1
  60. package/dist/lib/rendering/render-managers/entities/entities-render-manager.js +0 -999
  61. package/dist/lib/rendering/render-managers/entities/entities-render-manager.js.map +0 -1
  62. package/dist/lib/rendering/render-managers/entities/entity-render-manager.js +0 -186
  63. package/dist/lib/rendering/render-managers/entities/entity-render-manager.js.map +0 -1
  64. package/dist/lib/rendering/render-managers/other/assembly-render-manager.js +0 -226
  65. package/dist/lib/rendering/render-managers/other/assembly-render-manager.js.map +0 -1
  66. package/dist/lib/rendering/render-managers/other/google-search-render-manager.js +0 -430
  67. package/dist/lib/rendering/render-managers/other/google-search-render-manager.js.map +0 -1
  68. package/dist/lib/rendering/render-managers/other/legacy-relations-render-manager.js +0 -290
  69. package/dist/lib/rendering/render-managers/other/legacy-relations-render-manager.js.map +0 -1
  70. package/dist/lib/rendering/render-managers/other/relations-render-manager.js +0 -401
  71. package/dist/lib/rendering/render-managers/other/relations-render-manager.js.map +0 -1
  72. package/dist/lib/rendering/render-managers/render-manager.js +0 -276
  73. package/dist/lib/rendering/render-managers/render-manager.js.map +0 -1
  74. package/dist/lib/rendering/render-managers/tilesets/tileset-arb-render-manager.js +0 -356
  75. package/dist/lib/rendering/render-managers/tilesets/tileset-arb-render-manager.js.map +0 -1
  76. package/dist/lib/rendering/render-managers/tilesets/tileset-cad-render-manager.js +0 -861
  77. package/dist/lib/rendering/render-managers/tilesets/tileset-cad-render-manager.js.map +0 -1
  78. package/dist/lib/rendering/render-managers/tilesets/tileset-entities-render-manager.js +0 -279
  79. package/dist/lib/rendering/render-managers/tilesets/tileset-entities-render-manager.js.map +0 -1
  80. package/dist/lib/rendering/render-managers/tilesets/tileset-google-photos-render-manager.js +0 -104
  81. package/dist/lib/rendering/render-managers/tilesets/tileset-google-photos-render-manager.js.map +0 -1
  82. package/dist/lib/rendering/render-managers/tilesets/tileset-i3s-render-manager.js +0 -81
  83. package/dist/lib/rendering/render-managers/tilesets/tileset-i3s-render-manager.js.map +0 -1
  84. package/dist/lib/rendering/render-managers/tilesets/tileset-osm-render-manager.js +0 -378
  85. package/dist/lib/rendering/render-managers/tilesets/tileset-osm-render-manager.js.map +0 -1
  86. package/dist/lib/rendering/render-managers/tilesets/tileset-pointcloud-render-manager.js +0 -140
  87. package/dist/lib/rendering/render-managers/tilesets/tileset-pointcloud-render-manager.js.map +0 -1
  88. package/dist/lib/rendering/tile-render-engine.js +0 -1328
  89. package/dist/lib/rendering/tile-render-engine.js.map +0 -1
  90. package/dist/lib/rendering/tileset-render-engine.js +0 -588
  91. package/dist/lib/rendering/tileset-render-engine.js.map +0 -1
  92. package/dist/lib/rendering/tileset-styler.js +0 -590
  93. package/dist/lib/rendering/tileset-styler.js.map +0 -1
  94. package/dist/lib/rendering/view-render-engine.js +0 -1004
  95. package/dist/lib/rendering/view-render-engine.js.map +0 -1
  96. package/dist/lib/rendering/visual-register-culler.js +0 -676
  97. package/dist/lib/rendering/visual-register-culler.js.map +0 -1
  98. package/dist/lib/rendering/visuals-register.js +0 -1695
  99. package/dist/lib/rendering/visuals-register.js.map +0 -1
  100. package/dist/lib/utils/cesium-entity-styler.js +0 -915
  101. package/dist/lib/utils/cesium-entity-styler.js.map +0 -1
  102. package/dist/lib/utils/drawing-utils.js +0 -308
  103. package/dist/lib/utils/drawing-utils.js.map +0 -1
  104. package/dist/lib/utils/entity-utils.js +0 -1382
  105. package/dist/lib/utils/entity-utils.js.map +0 -1
  106. package/dist/lib/utils/measure-utils.js +0 -73
  107. package/dist/lib/utils/measure-utils.js.map +0 -1
  108. package/dist/lib/utils/simplify-geometry.js +0 -323
  109. package/dist/lib/utils/simplify-geometry.js.map +0 -1
  110. package/dist/lib/utils/view-utils.js +0 -392
  111. package/dist/lib/utils/view-utils.js.map +0 -1
  112. package/dist/lib/viewer/cesium-view-monitor.js +0 -393
  113. package/dist/lib/viewer/cesium-view-monitor.js.map +0 -1
  114. package/dist/lib/viewer/viewer-event-tracker.js +0 -70
  115. package/dist/lib/viewer/viewer-event-tracker.js.map +0 -1
  116. package/dist/lib/viewer/viewer-utils.js +0 -310
  117. package/dist/lib/viewer/viewer-utils.js.map +0 -1
  118. package/dist/lib/widgets/common/draw-3d-polygon.js +0 -458
  119. package/dist/lib/widgets/common/draw-3d-polygon.js.map +0 -1
  120. package/dist/lib/widgets/common/draw-3d-polyline.js +0 -415
  121. package/dist/lib/widgets/common/draw-3d-polyline.js.map +0 -1
  122. package/dist/lib/widgets/common/measure-creator.js +0 -468
  123. package/dist/lib/widgets/common/measure-creator.js.map +0 -1
  124. package/dist/lib/widgets/common/walkthrough.js +0 -336
  125. package/dist/lib/widgets/common/walkthrough.js.map +0 -1
  126. package/dist/lib/widgets/controls-view-bar/widget-control-view-bar-fullscreen.js +0 -36
  127. package/dist/lib/widgets/controls-view-bar/widget-control-view-bar-fullscreen.js.map +0 -1
  128. package/dist/lib/widgets/controls-view-bar/widget-control-view-bar-search.js +0 -437
  129. package/dist/lib/widgets/controls-view-bar/widget-control-view-bar-search.js.map +0 -1
  130. package/dist/lib/widgets/controls-view-bar/widget-control-view-bar.js +0 -38
  131. package/dist/lib/widgets/controls-view-bar/widget-control-view-bar.js.map +0 -1
  132. package/dist/lib/widgets/tabs-left-panel/widget-left-panel-tab-bookmarks.js +0 -219
  133. package/dist/lib/widgets/tabs-left-panel/widget-left-panel-tab-bookmarks.js.map +0 -1
  134. package/dist/lib/widgets/tabs-left-panel/widget-left-panel-tab-user.js +0 -304
  135. package/dist/lib/widgets/tabs-left-panel/widget-left-panel-tab-user.js.map +0 -1
  136. package/dist/lib/widgets/tabs-left-panel/widget-left-panel-tab.js +0 -29
  137. package/dist/lib/widgets/tabs-left-panel/widget-left-panel-tab.js.map +0 -1
  138. package/dist/lib/widgets/widget-bookmarks.js +0 -497
  139. package/dist/lib/widgets/widget-bookmarks.js.map +0 -1
  140. package/dist/lib/widgets/widget-branding.js +0 -165
  141. package/dist/lib/widgets/widget-branding.js.map +0 -1
  142. package/dist/lib/widgets/widget-cursorbar.js +0 -1179
  143. package/dist/lib/widgets/widget-cursorbar.js.map +0 -1
  144. package/dist/lib/widgets/widget-embedded-info-view.js +0 -201
  145. package/dist/lib/widgets/widget-embedded-info-view.js.map +0 -1
  146. package/dist/lib/widgets/widget-info-view.js +0 -681
  147. package/dist/lib/widgets/widget-info-view.js.map +0 -1
  148. package/dist/lib/widgets/widget-left-panel.js +0 -548
  149. package/dist/lib/widgets/widget-left-panel.js.map +0 -1
  150. package/dist/lib/widgets/widget-nav-compass.js +0 -469
  151. package/dist/lib/widgets/widget-nav-compass.js.map +0 -1
  152. package/dist/lib/widgets/widget-view-bar.js +0 -284
  153. package/dist/lib/widgets/widget-view-bar.js.map +0 -1
  154. package/dist/lib/widgets/widget.js +0 -66
  155. package/dist/lib/widgets/widget.js.map +0 -1
  156. package/dist/types/bruce-cesium.d.ts +0 -58
  157. package/dist/types/internal/cesium-utils.d.ts +0 -23
  158. package/dist/types/internal/js-utils.d.ts +0 -8
  159. package/dist/types/internal/limited-log.d.ts +0 -6
  160. package/dist/types/rendering/cesium-animated-in-out.d.ts +0 -12
  161. package/dist/types/rendering/cesium-animated-property.d.ts +0 -245
  162. package/dist/types/rendering/entity-gatherer.d.ts +0 -36
  163. package/dist/types/rendering/entity-render-engine-model3d.d.ts +0 -56
  164. package/dist/types/rendering/entity-render-engine-point.d.ts +0 -73
  165. package/dist/types/rendering/entity-render-engine-polygon.d.ts +0 -26
  166. package/dist/types/rendering/entity-render-engine-polyline.d.ts +0 -47
  167. package/dist/types/rendering/entity-render-engine.d.ts +0 -108
  168. package/dist/types/rendering/getters/batched-data-getter.d.ts +0 -28
  169. package/dist/types/rendering/getters/entity-filter-getter.d.ts +0 -104
  170. package/dist/types/rendering/getters/entity-globe.d.ts +0 -21
  171. package/dist/types/rendering/menu-item-creator.d.ts +0 -53
  172. package/dist/types/rendering/menu-item-manager.d.ts +0 -85
  173. package/dist/types/rendering/relation-render-engine.d.ts +0 -32
  174. package/dist/types/rendering/render-managers/common/cesium-parabola.d.ts +0 -39
  175. package/dist/types/rendering/render-managers/common/entity-label.d.ts +0 -82
  176. package/dist/types/rendering/render-managers/common/point-clustering.d.ts +0 -91
  177. package/dist/types/rendering/render-managers/common/shared-getters.d.ts +0 -41
  178. package/dist/types/rendering/render-managers/data-source/data-source-static-csv-manager.d.ts +0 -41
  179. package/dist/types/rendering/render-managers/data-source/data-source-static-kml-manager.d.ts +0 -25
  180. package/dist/types/rendering/render-managers/entities/entities-datalab-render-manager.d.ts +0 -31
  181. package/dist/types/rendering/render-managers/entities/entities-ids-render-manager.d.ts +0 -76
  182. package/dist/types/rendering/render-managers/entities/entities-loaded-render-manager.d.ts +0 -90
  183. package/dist/types/rendering/render-managers/entities/entities-render-manager.d.ts +0 -90
  184. package/dist/types/rendering/render-managers/entities/entity-render-manager.d.ts +0 -42
  185. package/dist/types/rendering/render-managers/other/assembly-render-manager.d.ts +0 -38
  186. package/dist/types/rendering/render-managers/other/google-search-render-manager.d.ts +0 -45
  187. package/dist/types/rendering/render-managers/other/legacy-relations-render-manager.d.ts +0 -60
  188. package/dist/types/rendering/render-managers/other/relations-render-manager.d.ts +0 -53
  189. package/dist/types/rendering/render-managers/render-manager.d.ts +0 -30
  190. package/dist/types/rendering/render-managers/tilesets/tileset-arb-render-manager.d.ts +0 -37
  191. package/dist/types/rendering/render-managers/tilesets/tileset-cad-render-manager.d.ts +0 -86
  192. package/dist/types/rendering/render-managers/tilesets/tileset-entities-render-manager.d.ts +0 -41
  193. package/dist/types/rendering/render-managers/tilesets/tileset-google-photos-render-manager.d.ts +0 -26
  194. package/dist/types/rendering/render-managers/tilesets/tileset-i3s-render-manager.d.ts +0 -25
  195. package/dist/types/rendering/render-managers/tilesets/tileset-osm-render-manager.d.ts +0 -48
  196. package/dist/types/rendering/render-managers/tilesets/tileset-pointcloud-render-manager.d.ts +0 -27
  197. package/dist/types/rendering/tile-render-engine.d.ts +0 -80
  198. package/dist/types/rendering/tileset-render-engine.d.ts +0 -99
  199. package/dist/types/rendering/tileset-styler.d.ts +0 -86
  200. package/dist/types/rendering/view-render-engine.d.ts +0 -32
  201. package/dist/types/rendering/visual-register-culler.d.ts +0 -18
  202. package/dist/types/rendering/visuals-register.d.ts +0 -351
  203. package/dist/types/utils/cesium-entity-styler.d.ts +0 -103
  204. package/dist/types/utils/drawing-utils.d.ts +0 -59
  205. package/dist/types/utils/entity-utils.d.ts +0 -133
  206. package/dist/types/utils/measure-utils.d.ts +0 -20
  207. package/dist/types/utils/simplify-geometry.d.ts +0 -19
  208. package/dist/types/utils/view-utils.d.ts +0 -101
  209. package/dist/types/viewer/cesium-view-monitor.d.ts +0 -35
  210. package/dist/types/viewer/viewer-event-tracker.d.ts +0 -47
  211. package/dist/types/viewer/viewer-utils.d.ts +0 -88
  212. package/dist/types/widgets/common/draw-3d-polygon.d.ts +0 -62
  213. package/dist/types/widgets/common/draw-3d-polyline.d.ts +0 -50
  214. package/dist/types/widgets/common/measure-creator.d.ts +0 -60
  215. package/dist/types/widgets/common/walkthrough.d.ts +0 -37
  216. package/dist/types/widgets/controls-view-bar/widget-control-view-bar-fullscreen.d.ts +0 -10
  217. package/dist/types/widgets/controls-view-bar/widget-control-view-bar-search.d.ts +0 -18
  218. package/dist/types/widgets/controls-view-bar/widget-control-view-bar.d.ts +0 -23
  219. package/dist/types/widgets/tabs-left-panel/widget-left-panel-tab-bookmarks.d.ts +0 -11
  220. package/dist/types/widgets/tabs-left-panel/widget-left-panel-tab-user.d.ts +0 -24
  221. package/dist/types/widgets/tabs-left-panel/widget-left-panel-tab.d.ts +0 -17
  222. package/dist/types/widgets/widget-bookmarks.d.ts +0 -40
  223. package/dist/types/widgets/widget-branding.d.ts +0 -15
  224. package/dist/types/widgets/widget-cursorbar.d.ts +0 -48
  225. package/dist/types/widgets/widget-embedded-info-view.d.ts +0 -13
  226. package/dist/types/widgets/widget-info-view.d.ts +0 -21
  227. package/dist/types/widgets/widget-left-panel.d.ts +0 -73
  228. package/dist/types/widgets/widget-nav-compass.d.ts +0 -27
  229. package/dist/types/widgets/widget-view-bar.d.ts +0 -37
  230. package/dist/types/widgets/widget.d.ts +0 -29
@@ -1,430 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GoogleSearchRenderManager = void 0;
4
- const bruce_models_1 = require("bruce-models");
5
- const Cesium = require("cesium");
6
- const entity_globe_1 = require("src/rendering/getters/entity-globe");
7
- const bruce_cesium_1 = require("src/bruce-cesium");
8
- var GoogleSearchRenderManager;
9
- (function (GoogleSearchRenderManager) {
10
- class Manager {
11
- get Disposed() {
12
- return this.disposed;
13
- }
14
- ;
15
- constructor(params) {
16
- // If true, this menu item is disposed and should not be used.
17
- // Any rendering will be ignored.
18
- this.disposed = false;
19
- this.grid = new entity_globe_1.EntityGlobe.Grid();
20
- this.getterLoopId = 0;
21
- const { item, register, monitor, viewer, getters } = params;
22
- this.item = item;
23
- this.register = register;
24
- this.monitor = monitor;
25
- this.viewer = viewer;
26
- this.getters = getters;
27
- }
28
- Init() {
29
- (async () => {
30
- var _a;
31
- try {
32
- // Check if the Nextspace account has a configured token.
33
- // TODO: We don't use this token here, we simply use the imported Google script.
34
- // This is mainly to avoid using OUR token in our default script imports and force the users to set theirs up.
35
- const { programKey } = await bruce_models_1.ProgramKey.Get({
36
- programId: bruce_models_1.ProgramKey.EProgramId.GoogleApi,
37
- api: this.getters.GetBruceApi()
38
- });
39
- if (programKey === null || programKey === void 0 ? void 0 : programKey.Key) {
40
- const valid = await validateKey(programKey === null || programKey === void 0 ? void 0 : programKey.Key);
41
- if (!valid) {
42
- throw new Error("Account default key not valid for Google Places API.");
43
- }
44
- }
45
- else {
46
- throw new Error("No valid key found for Google Places API.");
47
- }
48
- if (this.Disposed) {
49
- return;
50
- }
51
- (_a = this.monitorRemoval) === null || _a === void 0 ? void 0 : _a.call(this);
52
- this.monitorRemoval = this.monitor.Updated().Subscribe(() => {
53
- this.startGetterLoop();
54
- });
55
- this.startGetterLoop();
56
- }
57
- catch (e) {
58
- console.error(e);
59
- }
60
- })();
61
- }
62
- Dispose() {
63
- var _a;
64
- if (this.disposed) {
65
- return;
66
- }
67
- this.disposed = true;
68
- (_a = this.monitorRemoval) === null || _a === void 0 ? void 0 : _a.call(this);
69
- this.register.RemoveRegos({
70
- menuItemId: this.item.id
71
- });
72
- }
73
- ReRender(params) {
74
- // Ignore. Not relevant for this render manager.
75
- return;
76
- }
77
- /**
78
- * Starts gathering data around the view-port in blocks.
79
- * If a block was previously fetched in a different iteration, it is ignored.
80
- * This can be re-called once the camera is moved to restart the process.
81
- */
82
- startGetterLoop() {
83
- this.getterLoopId += 1;
84
- const loopId = this.getterLoopId;
85
- return new Promise(async () => {
86
- const MAX_HEIGHT = 100000;
87
- const MIN_HEIGHT = 0;
88
- // Wait until the monitor has a target and bounds.
89
- // Kill the loop if the loop id has changed.
90
- while ((!this.monitor.GetTarget() || !this.monitor.GetBounds()) && this.getterLoopId == loopId && !this.Disposed) {
91
- await delay(500);
92
- }
93
- if (this.Disposed || this.getterLoopId != loopId) {
94
- return;
95
- }
96
- const target = this.monitor.GetTarget();
97
- const bounds = this.monitor.GetBounds();
98
- if (!target || !bounds) {
99
- return;
100
- }
101
- // Kill if we aren't within min/max height range.
102
- const alt = bounds.alt;
103
- if (alt == null || alt > MAX_HEIGHT || (alt < MIN_HEIGHT && MIN_HEIGHT > 0)) {
104
- return;
105
- }
106
- const cells = this.grid.GetCellsForView(target, bounds);
107
- let curCellIndex = cells.length > 0 ? 0 : null;
108
- // Loop through all cells, ignoring ones that we previously marked as fetched.
109
- while (curCellIndex != null) {
110
- await delay(500);
111
- // New loop started, break the old one.
112
- if (this.getterLoopId != loopId || this.Disposed) {
113
- break;
114
- }
115
- const curCell = cells[curCellIndex];
116
- if (curCell.IsFetched()) {
117
- curCell.Fetching = false;
118
- curCellIndex += 1;
119
- if (cells[curCellIndex]) {
120
- cells[curCellIndex].Fetching = true;
121
- }
122
- else {
123
- curCellIndex = null;
124
- }
125
- continue;
126
- }
127
- try {
128
- // New loop started, break the old one.
129
- if (this.getterLoopId != loopId) {
130
- break;
131
- }
132
- const bounds = curCell.GetBounds();
133
- const location = {
134
- altitude: bounds.alt,
135
- latitude: bounds.south + ((bounds.north - bounds.south) / 2),
136
- longitude: bounds.west + ((bounds.east - bounds.west) / 2)
137
- };
138
- let result = [];
139
- try {
140
- result = await getPlaces({
141
- location: location,
142
- bounds: bounds,
143
- keyword: this.item.keyword
144
- });
145
- }
146
- catch (e) {
147
- if (e !== "ZERO_RESULTS") {
148
- console.error(e);
149
- throw e;
150
- }
151
- }
152
- await this.renderPlaces(result);
153
- if (this.getterLoopId != loopId || this.Disposed) {
154
- break;
155
- }
156
- curCell.Fetched = true;
157
- curCell.Fetching = false;
158
- }
159
- catch (e) {
160
- console.error(e);
161
- break;
162
- }
163
- }
164
- });
165
- }
166
- /**
167
- * Renders Google places on the map and registers them into the common register.
168
- * @param places
169
- * @returns
170
- */
171
- async renderPlaces(places) {
172
- var _a, _b;
173
- // Add results as billboards to the viewer.
174
- for (let i = 0; i < places.length; i++) {
175
- const item = places[i];
176
- const itemId = item.place_id;
177
- // No ID, no item :)
178
- if (!itemId) {
179
- continue;
180
- }
181
- // Check if we already have this item.
182
- if (this.register.GetRego({
183
- entityId: itemId,
184
- menuItemId: this.item.id
185
- })) {
186
- continue;
187
- }
188
- let lat;
189
- let lon;
190
- if (item.geometry) {
191
- if ((_b = (_a = item.geometry.location) === null || _a === void 0 ? void 0 : _a.lat) === null || _b === void 0 ? void 0 : _b.call(_a)) {
192
- lat = item.geometry.location.lat();
193
- lon = item.geometry.location.lng();
194
- }
195
- else if (item.geometry.viewport) {
196
- lat = (item.geometry.viewport.Xh.lo + item.geometry.viewport.Xh.hi) / 2;
197
- lon = (item.geometry.viewport.Hh.lo + item.geometry.viewport.Hh.hi) / 2;
198
- }
199
- }
200
- if (!lat || !lon || typeof lat !== "number" || typeof lon !== "number") {
201
- continue;
202
- }
203
- const bgColor = item.icon_background_color || "white";
204
- const size = 38;
205
- const canvas = await createBillboardImage(item.icon, bgColor, size);
206
- const pos = Cesium.Cartesian3.fromDegrees(lon, lat);
207
- const billboard = this.viewer.entities.add({
208
- position: pos,
209
- billboard: {
210
- image: canvas,
211
- scale: 1,
212
- verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
213
- heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
214
- disableDepthTestDistance: Number.POSITIVE_INFINITY
215
- }
216
- });
217
- bruce_cesium_1.CesiumEntityStyler.BakeDefaultColor({
218
- entity: billboard,
219
- viewer: this.viewer,
220
- colors: {
221
- "billboard": Cesium.Color.WHITE.clone()
222
- },
223
- refresh: false
224
- });
225
- this.register.AddRego({
226
- rego: {
227
- canEdit: false,
228
- // If we ever want the user to be able to create a Nextspace record-
229
- //we must match this logic with the OSM logic.
230
- entityId: itemId,
231
- sourceId: itemId,
232
- menuItemId: this.item.id,
233
- menuItemType: this.item.Type,
234
- priority: 0,
235
- visual: billboard,
236
- name: item.name
237
- },
238
- requestRender: false
239
- });
240
- if (this.Disposed) {
241
- break;
242
- }
243
- }
244
- if (this.Disposed) {
245
- this.register.RemoveRegos({
246
- menuItemId: this.item.id,
247
- requestRender: true
248
- });
249
- return;
250
- }
251
- this.viewer.scene.requestRender();
252
- }
253
- }
254
- GoogleSearchRenderManager.Manager = Manager;
255
- })(GoogleSearchRenderManager = exports.GoogleSearchRenderManager || (exports.GoogleSearchRenderManager = {}));
256
- async function delay(milliseconds) {
257
- return new Promise((res) => {
258
- setTimeout(() => {
259
- res();
260
- }, milliseconds);
261
- });
262
- }
263
- /**
264
- * Gets places of a certain type, eg: restaurant, schools, etc.
265
- * We can then display this on the map.
266
- * @param params
267
- */
268
- async function getPlaces(params) {
269
- var _a, _b, _c;
270
- const { location, bounds, keyword } = params;
271
- if (!getGoogle()) {
272
- throw new Error("Google is not defined");
273
- }
274
- if (!_detailsService && ((_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)) {
275
- _detailsService = new (getGoogle().maps.places.PlacesService)(document.createElement("div"));
276
- }
277
- return new Promise((res, rej) => {
278
- if (!(_detailsService === null || _detailsService === void 0 ? void 0 : _detailsService.nearbySearch)) {
279
- rej("Google is not defined");
280
- }
281
- const searchParams = {
282
- location: new (getGoogle().maps.LatLng)(location.latitude, location.longitude),
283
- radius: 1000,
284
- keyword: keyword
285
- };
286
- if (bounds) {
287
- searchParams["bounds"] = new (getGoogle().maps.LatLngBounds)(new (getGoogle().maps.LatLng)(bounds.south, bounds.west), new (getGoogle().maps.LatLng)(bounds.north, bounds.east));
288
- }
289
- _detailsService.nearbySearch(searchParams, (results, status) => {
290
- try {
291
- if (status === (getGoogle().maps.places.PlacesServiceStatus).OK) {
292
- res(results);
293
- }
294
- else {
295
- rej(status);
296
- }
297
- }
298
- catch (e) {
299
- rej(e);
300
- }
301
- });
302
- });
303
- }
304
- /**
305
- * Returns if a google api token is valid or not for the geocoding service.
306
- * @param apiKey
307
- * @returns
308
- */
309
- async function validateKey(apiKey) {
310
- return validateKeyForSearches(apiKey);
311
- }
312
- const _validateKeyCache = new Map();
313
- /**
314
- * Returns if a google api token is valid or not for the geocoding service.
315
- * @param apiKey
316
- * @returns
317
- */
318
- async function validateKeyForSearches(apiKey) {
319
- if (!apiKey) {
320
- return false;
321
- }
322
- if (_validateKeyCache.has(apiKey)) {
323
- return _validateKeyCache.get(apiKey);
324
- }
325
- const prom = new Promise(async (res, rej) => {
326
- const url = `https://maps.googleapis.com/maps/api/geocode/json?address=invalid&key=${apiKey}`;
327
- try {
328
- const response = await fetch(url);
329
- if (!response.ok) {
330
- console.error(response);
331
- res(false);
332
- }
333
- const data = await response.json();
334
- if (data.status === "REQUEST_DENIED") {
335
- console.error(data);
336
- res(false);
337
- }
338
- res(true);
339
- return;
340
- }
341
- catch (e) {
342
- console.error(e);
343
- }
344
- res(false);
345
- });
346
- _validateKeyCache.set(apiKey, prom);
347
- return prom;
348
- }
349
- const _billboardCache = new bruce_models_1.LRUCache(150);
350
- /**
351
- * Calculates the resized dimensions while maintaining aspect ratio.
352
- * @param originalWidth
353
- * @param originalHeight
354
- * @param targetWidth
355
- * @param targetHeight
356
- */
357
- function calculateBillboardSpace(originalWidth, originalHeight, targetWidth, targetHeight) {
358
- const aspectRatio = originalWidth / originalHeight;
359
- let newWidth = targetWidth;
360
- let newHeight = targetHeight;
361
- if (newWidth / newHeight > aspectRatio) {
362
- newWidth = newHeight * aspectRatio;
363
- }
364
- else {
365
- newHeight = newWidth / aspectRatio;
366
- }
367
- return { newWidth, newHeight };
368
- }
369
- /**
370
- * Returns a billboard image with a circle of the given size and color.
371
- * The image URL will be loaded and drawn on the center of the circle.
372
- * The promise is cached so that the same image is not loaded multiple times.
373
- * @param url
374
- * @param bgColor
375
- * @param width
376
- * @param height
377
- */
378
- async function createBillboardImage(url, bgColor, size) {
379
- const key = `${url}-${bgColor}-${size}`;
380
- const cacheData = _billboardCache.Get(key);
381
- if (cacheData) {
382
- return cacheData;
383
- }
384
- const IMAGE_PADDING = 8;
385
- const prom = new Promise(async (res, rej) => {
386
- try {
387
- const response = await fetch(url);
388
- const blob = await response.blob();
389
- const image = new Image();
390
- image.onload = () => {
391
- const canvas = document.createElement("canvas");
392
- canvas.width = size;
393
- canvas.height = size;
394
- const context = canvas.getContext("2d");
395
- // Calculate padding and available space.
396
- const availableSize = size - 2 * IMAGE_PADDING;
397
- // Calculate resized dimensions preserving aspect ratio.
398
- const { newWidth, newHeight } = calculateBillboardSpace(image.width, image.height, availableSize, availableSize);
399
- // Draw the circular background.
400
- context.beginPath();
401
- context.arc(size / 2, size / 2, size / 2, 0, 2 * Math.PI, false);
402
- context.fillStyle = bgColor;
403
- context.fill();
404
- // Draw the image centered within the circle.
405
- const offsetX = (size - newWidth) / 2;
406
- const offsetY = (size - newHeight) / 2;
407
- context.drawImage(image, offsetX, offsetY, newWidth, newHeight);
408
- // Draw a 2px darkened border around the circle.
409
- context.beginPath();
410
- context.arc(size / 2, size / 2, size / 2 - 1, 0, 2 * Math.PI, false);
411
- context.lineWidth = 1;
412
- context.strokeStyle = "rgba(0, 0, 0, 0.3)";
413
- context.stroke();
414
- res(canvas);
415
- };
416
- image.onerror = (e) => rej(e);
417
- image.src = URL.createObjectURL(blob);
418
- }
419
- catch (e) {
420
- rej(e);
421
- }
422
- });
423
- _billboardCache.Set(key, prom);
424
- return prom;
425
- }
426
- let _detailsService = null;
427
- function getGoogle() {
428
- return window["google"];
429
- }
430
- //# sourceMappingURL=google-search-render-manager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"google-search-render-manager.js","sourceRoot":"","sources":["../../../../../src/rendering/render-managers/other/google-search-render-manager.ts"],"names":[],"mappings":"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"}