hj-gis-sdk 1.0.0 → 1.0.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.
Files changed (194) hide show
  1. package/README.md +50 -59
  2. package/dev-dist/animation.esm.js +152 -0
  3. package/dev-dist/animation.esm.js.map +1 -0
  4. package/dev-dist/animation.js +154 -0
  5. package/dev-dist/animation.js.map +1 -0
  6. package/dev-dist/building.esm.js +85 -0
  7. package/dev-dist/building.esm.js.map +1 -0
  8. package/dev-dist/building.js +87 -0
  9. package/dev-dist/building.js.map +1 -0
  10. package/dev-dist/common.esm.js +16159 -0
  11. package/dev-dist/common.esm.js.map +1 -0
  12. package/dev-dist/common.js +16163 -0
  13. package/dev-dist/common.js.map +1 -0
  14. package/dev-dist/fence.esm.js +100 -0
  15. package/dev-dist/fence.esm.js.map +1 -0
  16. package/dev-dist/fence.js +102 -0
  17. package/dev-dist/fence.js.map +1 -0
  18. package/dev-dist/ghost.esm.js +53 -0
  19. package/dev-dist/ghost.esm.js.map +1 -0
  20. package/dev-dist/ghost.js +55 -0
  21. package/dev-dist/ghost.js.map +1 -0
  22. package/dev-dist/heatmap.esm.js +103 -0
  23. package/dev-dist/heatmap.esm.js.map +1 -0
  24. package/dev-dist/heatmap.js +105 -0
  25. package/dev-dist/heatmap.js.map +1 -0
  26. package/dev-dist/index.esm.js +21 -0
  27. package/dev-dist/index.esm.js.map +1 -0
  28. package/dev-dist/index.esm2.js +4272 -0
  29. package/dev-dist/index.esm2.js.map +1 -0
  30. package/dev-dist/index.js +26 -0
  31. package/dev-dist/index.js.map +1 -0
  32. package/dev-dist/index2.js +4280 -0
  33. package/dev-dist/index2.js.map +1 -0
  34. package/dev-dist/keyframe.esm.js +95 -0
  35. package/dev-dist/keyframe.esm.js.map +1 -0
  36. package/dev-dist/keyframe.js +97 -0
  37. package/dev-dist/keyframe.js.map +1 -0
  38. package/dev-dist/measurement.esm.js +57 -0
  39. package/dev-dist/measurement.esm.js.map +1 -0
  40. package/dev-dist/measurement.js +59 -0
  41. package/dev-dist/measurement.js.map +1 -0
  42. package/dev-dist/scatter.esm.js +85 -0
  43. package/dev-dist/scatter.esm.js.map +1 -0
  44. package/dev-dist/scatter.js +87 -0
  45. package/dev-dist/scatter.js.map +1 -0
  46. package/dev-dist/src.esm.js +289 -0
  47. package/dev-dist/src.esm.js.map +1 -0
  48. package/dev-dist/src.js +291 -0
  49. package/dev-dist/src.js.map +1 -0
  50. package/dev-dist/types/hj-gis-sdk/addons/animation/animate-clip.d.ts +39 -0
  51. package/dev-dist/types/hj-gis-sdk/addons/animation/animate-clip.d.ts.map +1 -0
  52. package/dev-dist/types/hj-gis-sdk/addons/animation/animation-action.d.ts +31 -0
  53. package/dev-dist/types/hj-gis-sdk/addons/animation/animation-action.d.ts.map +1 -0
  54. package/dev-dist/types/hj-gis-sdk/addons/animation/animation-mixer.d.ts +18 -0
  55. package/dev-dist/types/hj-gis-sdk/addons/animation/animation-mixer.d.ts.map +1 -0
  56. package/dev-dist/types/hj-gis-sdk/addons/animation/index.d.ts +5 -0
  57. package/dev-dist/types/hj-gis-sdk/addons/animation/index.d.ts.map +1 -0
  58. package/dev-dist/types/hj-gis-sdk/addons/camera.d.ts +59 -0
  59. package/dev-dist/types/hj-gis-sdk/addons/camera.d.ts.map +1 -0
  60. package/dev-dist/types/hj-gis-sdk/addons/clock.d.ts +40 -0
  61. package/dev-dist/types/hj-gis-sdk/addons/clock.d.ts.map +1 -0
  62. package/dev-dist/types/hj-gis-sdk/addons/commander/context.d.ts +24 -0
  63. package/dev-dist/types/hj-gis-sdk/addons/commander/context.d.ts.map +1 -0
  64. package/dev-dist/types/hj-gis-sdk/addons/commander/dispatcher.d.ts +43 -0
  65. package/dev-dist/types/hj-gis-sdk/addons/commander/dispatcher.d.ts.map +1 -0
  66. package/dev-dist/types/hj-gis-sdk/addons/commander/excutor/base.d.ts +22 -0
  67. package/dev-dist/types/hj-gis-sdk/addons/commander/excutor/base.d.ts.map +1 -0
  68. package/dev-dist/types/hj-gis-sdk/addons/loader/index.d.ts +6 -0
  69. package/dev-dist/types/hj-gis-sdk/addons/loader/index.d.ts.map +1 -0
  70. package/dev-dist/types/hj-gis-sdk/addons/loader/loader.d.ts +4 -0
  71. package/dev-dist/types/hj-gis-sdk/addons/loader/loader.d.ts.map +1 -0
  72. package/dev-dist/types/hj-gis-sdk/addons/node/base.d.ts +63 -0
  73. package/dev-dist/types/hj-gis-sdk/addons/node/base.d.ts.map +1 -0
  74. package/dev-dist/types/hj-gis-sdk/addons/node/ue-node.d.ts +82 -0
  75. package/dev-dist/types/hj-gis-sdk/addons/node/ue-node.d.ts.map +1 -0
  76. package/dev-dist/types/hj-gis-sdk/addons/proxy.d.ts +83 -0
  77. package/dev-dist/types/hj-gis-sdk/addons/proxy.d.ts.map +1 -0
  78. package/dev-dist/types/hj-gis-sdk/addons/tools/base.d.ts +7 -0
  79. package/dev-dist/types/hj-gis-sdk/addons/tools/base.d.ts.map +1 -0
  80. package/dev-dist/types/hj-gis-sdk/addons/tools/building.d.ts +36 -0
  81. package/dev-dist/types/hj-gis-sdk/addons/tools/building.d.ts.map +1 -0
  82. package/dev-dist/types/hj-gis-sdk/addons/tools/daytime.d.ts +7 -0
  83. package/dev-dist/types/hj-gis-sdk/addons/tools/daytime.d.ts.map +1 -0
  84. package/dev-dist/types/hj-gis-sdk/addons/tools/fence.d.ts +61 -0
  85. package/dev-dist/types/hj-gis-sdk/addons/tools/fence.d.ts.map +1 -0
  86. package/dev-dist/types/hj-gis-sdk/addons/tools/ghost.d.ts +14 -0
  87. package/dev-dist/types/hj-gis-sdk/addons/tools/ghost.d.ts.map +1 -0
  88. package/dev-dist/types/hj-gis-sdk/addons/tools/heat-map.d.ts +65 -0
  89. package/dev-dist/types/hj-gis-sdk/addons/tools/heat-map.d.ts.map +1 -0
  90. package/dev-dist/types/hj-gis-sdk/addons/tools/index.d.ts +26 -0
  91. package/dev-dist/types/hj-gis-sdk/addons/tools/index.d.ts.map +1 -0
  92. package/dev-dist/types/hj-gis-sdk/addons/tools/match-view.d.ts +7 -0
  93. package/dev-dist/types/hj-gis-sdk/addons/tools/match-view.d.ts.map +1 -0
  94. package/dev-dist/types/hj-gis-sdk/addons/tools/measurement.d.ts +13 -0
  95. package/dev-dist/types/hj-gis-sdk/addons/tools/measurement.d.ts.map +1 -0
  96. package/dev-dist/types/hj-gis-sdk/addons/tools/pick-cast.d.ts +26 -0
  97. package/dev-dist/types/hj-gis-sdk/addons/tools/pick-cast.d.ts.map +1 -0
  98. package/dev-dist/types/hj-gis-sdk/addons/tools/scatter.d.ts +57 -0
  99. package/dev-dist/types/hj-gis-sdk/addons/tools/scatter.d.ts.map +1 -0
  100. package/dev-dist/types/hj-gis-sdk/addons/tools/weather.d.ts +31 -0
  101. package/dev-dist/types/hj-gis-sdk/addons/tools/weather.d.ts.map +1 -0
  102. package/dev-dist/types/hj-gis-sdk/addons/transform.d.ts +91 -0
  103. package/dev-dist/types/hj-gis-sdk/addons/transform.d.ts.map +1 -0
  104. package/dev-dist/types/hj-gis-sdk/addons/world.d.ts +76 -0
  105. package/dev-dist/types/hj-gis-sdk/addons/world.d.ts.map +1 -0
  106. package/dev-dist/types/hj-gis-sdk/core/ue-rpc.d.ts +54 -0
  107. package/dev-dist/types/hj-gis-sdk/core/ue-rpc.d.ts.map +1 -0
  108. package/dev-dist/types/hj-gis-sdk/index.d.ts +27 -0
  109. package/dev-dist/types/hj-gis-sdk/index.d.ts.map +1 -0
  110. package/dev-dist/types/hj-gis-sdk/utils.d.ts +16 -0
  111. package/dev-dist/types/hj-gis-sdk/utils.d.ts.map +1 -0
  112. package/dev-dist/types/src/animation.d.ts +2 -0
  113. package/dev-dist/types/src/animation.d.ts.map +1 -0
  114. package/dev-dist/types/src/building.d.ts +2 -0
  115. package/dev-dist/types/src/building.d.ts.map +1 -0
  116. package/dev-dist/types/src/common.d.ts +5 -0
  117. package/dev-dist/types/src/common.d.ts.map +1 -0
  118. package/dev-dist/types/src/fence.d.ts +2 -0
  119. package/dev-dist/types/src/fence.d.ts.map +1 -0
  120. package/dev-dist/types/src/ghost.d.ts +2 -0
  121. package/dev-dist/types/src/ghost.d.ts.map +1 -0
  122. package/dev-dist/types/src/heatmap.d.ts +2 -0
  123. package/dev-dist/types/src/heatmap.d.ts.map +1 -0
  124. package/dev-dist/types/src/index.d.ts +2 -0
  125. package/dev-dist/types/src/index.d.ts.map +1 -0
  126. package/dev-dist/types/src/keyframe.d.ts +2 -0
  127. package/dev-dist/types/src/keyframe.d.ts.map +1 -0
  128. package/dev-dist/types/src/measurement.d.ts +2 -0
  129. package/dev-dist/types/src/measurement.d.ts.map +1 -0
  130. package/dev-dist/types/src/scatter.d.ts +2 -0
  131. package/dev-dist/types/src/scatter.d.ts.map +1 -0
  132. package/dev-dist/types/src/weather.d.ts +2 -0
  133. package/dev-dist/types/src/weather.d.ts.map +1 -0
  134. package/dev-dist/weather.esm.js +68 -0
  135. package/dev-dist/weather.esm.js.map +1 -0
  136. package/dev-dist/weather.js +70 -0
  137. package/dev-dist/weather.js.map +1 -0
  138. package/dist/sdk.esm.js +19 -6
  139. package/dist/sdk.esm.js.map +1 -1
  140. package/dist/sdk.js +19 -6
  141. package/dist/sdk.js.map +1 -1
  142. package/dist/sdk.umd.js +1 -1
  143. package/dist/sdk.umd.js.map +1 -1
  144. package/dist/types/hj-gis-sdk/addons/tools/scatter.d.ts.map +1 -1
  145. package/dist/types/src/common.d.ts.map +1 -1
  146. package/hj-gis-sdk/addons/animation/animate-clip.ts +93 -0
  147. package/hj-gis-sdk/addons/animation/animation-action.ts +93 -0
  148. package/hj-gis-sdk/addons/animation/animation-mixer.ts +51 -0
  149. package/hj-gis-sdk/addons/animation/index.ts +17 -0
  150. package/hj-gis-sdk/addons/camera.ts +173 -0
  151. package/hj-gis-sdk/addons/clock.ts +85 -0
  152. package/hj-gis-sdk/addons/commander/context.ts +70 -0
  153. package/hj-gis-sdk/addons/commander/dispatcher.ts +68 -0
  154. package/hj-gis-sdk/addons/commander/excutor/base.ts +26 -0
  155. package/hj-gis-sdk/addons/loader/index.ts +7 -0
  156. package/hj-gis-sdk/addons/loader/loader.ts +3 -0
  157. package/hj-gis-sdk/addons/node/base.ts +131 -0
  158. package/hj-gis-sdk/addons/node/ue-node.ts +147 -0
  159. package/hj-gis-sdk/addons/proxy.ts +200 -0
  160. package/hj-gis-sdk/addons/tools/base.ts +11 -0
  161. package/hj-gis-sdk/addons/tools/building.ts +84 -0
  162. package/hj-gis-sdk/addons/tools/daytime.ts +14 -0
  163. package/hj-gis-sdk/addons/tools/fence.ts +105 -0
  164. package/hj-gis-sdk/addons/tools/ghost.ts +31 -0
  165. package/hj-gis-sdk/addons/tools/heat-map.ts +95 -0
  166. package/hj-gis-sdk/addons/tools/index.ts +25 -0
  167. package/hj-gis-sdk/addons/tools/match-view.ts +35 -0
  168. package/hj-gis-sdk/addons/tools/measurement.ts +25 -0
  169. package/hj-gis-sdk/addons/tools/pick-cast.ts +67 -0
  170. package/hj-gis-sdk/addons/tools/scatter.ts +230 -0
  171. package/hj-gis-sdk/addons/tools/weather.ts +40 -0
  172. package/hj-gis-sdk/addons/transform.ts +126 -0
  173. package/hj-gis-sdk/addons/world.ts +173 -0
  174. package/hj-gis-sdk/core/ue-rpc.ts +234 -0
  175. package/hj-gis-sdk/index.ts +26 -0
  176. package/hj-gis-sdk/utils.ts +52 -0
  177. package/index.html +48 -0
  178. package/package-lock.json +7368 -0
  179. package/package.json +17 -4
  180. package/rollup.config.dev.js +107 -0
  181. package/rollup.config.js +52 -0
  182. package/src/animation.ts +175 -0
  183. package/src/building.ts +114 -0
  184. package/src/common.ts +47 -0
  185. package/src/fence.ts +131 -0
  186. package/src/ghost.ts +70 -0
  187. package/src/heatmap.ts +125 -0
  188. package/src/index.ts +350 -0
  189. package/src/keyframe.ts +113 -0
  190. package/src/measurement.ts +80 -0
  191. package/src/scatter.ts +105 -0
  192. package/src/weather.ts +86 -0
  193. package/tsconfig.json +30 -0
  194. package/yarn.lock +3108 -0
@@ -0,0 +1,95 @@
1
+
2
+ (function(l, r) { if (!l || l.getElementById('livereloadscript')) return; r = l.createElement('script'); r.async = 1; r.src = '//' + (self.location.host || 'localhost').split(':')[0] + ':35729/livereload.js?snipver=1'; r.id = 'livereloadscript'; l.getElementsByTagName('head')[0].appendChild(r) })(self.document);
3
+ import { G as GUI, A as Addons, i as initializeApp } from './common.esm.js';
4
+ import { L as Logger, c as LogLevel } from './index.esm2.js';
5
+
6
+ Logger.InitLogging(LogLevel.Info, false);
7
+ const { UERPCNode, Animation, Transform } = Addons;
8
+ let world;
9
+ let camera;
10
+ let animationMixer = null;
11
+ let animatedObject = null;
12
+ async function _initializeApp() {
13
+ // const url = `ws://120.27.198.158:9001/player`
14
+ const url = `wss://kdyjs-proxy.metamaker.cn/proxy_gis_sdk`;
15
+ const AppElement = document.querySelector('#ue');
16
+ let result = await initializeApp(url, AppElement);
17
+ world = result.world;
18
+ camera = result.camera;
19
+ animationMixer = new Animation.AnimationMixer(world.rpc);
20
+ // 可以在此处加载需要进行关键帧动画的对象
21
+ // 示例:加载一个简单的静态网格对象
22
+ animatedObject = await world.spawnStaticMeshActor({
23
+ assetPath: '/Game/Mesh/test/63'
24
+ });
25
+ // 设置相机位置以便观察动画
26
+ camera.transform.position.x = -180;
27
+ camera.transform.position.y = -10;
28
+ camera.transform.position.z = 10;
29
+ }
30
+ // 判断 window 是否初始化完成
31
+ if (document.readyState === 'loading') {
32
+ // 文档正在加载,等待DOMContentLoaded事件
33
+ document.addEventListener('DOMContentLoaded', _initializeApp);
34
+ }
35
+ else {
36
+ // 文档已经加载完成,直接初始化应用
37
+ _initializeApp();
38
+ }
39
+ const gui = new GUI();
40
+ let animateAction;
41
+ let animateClip;
42
+ animateClip = new Animation.KeyFrameAnimateClip({
43
+ startTransform: Transform.default(),
44
+ endTransform: Transform.fromRPCObject({
45
+ Location: {
46
+ X: 800,
47
+ Y: 0,
48
+ Z: 0
49
+ }
50
+ })
51
+ });
52
+ const animationConfig = {
53
+ playing: false
54
+ };
55
+ const animationControls = {
56
+ play: async () => {
57
+ if (!animateAction) {
58
+ animateAction = animationMixer.clipAction(animateClip, animatedObject);
59
+ animateAction.duration = 3;
60
+ }
61
+ animateAction.play();
62
+ animationConfig.playing = true;
63
+ updateButtonStates();
64
+ },
65
+ pause: async () => {
66
+ animateAction.pause();
67
+ animationConfig.playing = false;
68
+ updateButtonStates();
69
+ }
70
+ };
71
+ const animationFolder = gui.addFolder('动画控制');
72
+ let playButton, pauseButton;
73
+ playButton = animationFolder
74
+ .add(animationControls, 'play')
75
+ .name('播放')
76
+ .disable(animationConfig.playing);
77
+ pauseButton = animationFolder
78
+ .add(animationControls, 'pause')
79
+ .name('暂停')
80
+ .enable(animationConfig.playing);
81
+ // 更新按钮状态的函数
82
+ function updateButtonStates() {
83
+ if (playButton) {
84
+ if (animationConfig.playing) {
85
+ playButton.disable();
86
+ pauseButton.enable();
87
+ }
88
+ else {
89
+ playButton.enable();
90
+ pauseButton.disable();
91
+ }
92
+ }
93
+ }
94
+ animationFolder.open();
95
+ //# sourceMappingURL=keyframe.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyframe.esm.js","sources":["../src/keyframe.ts"],"sourcesContent":["import { Addons } from 'hj-gis-sdk'\n\n/// 关键帧动画效果示例\n\nimport { PerspectiveCamera } from 'hj-gis-sdk/addons/camera'\nimport { initializeApp } from './common'\n\nimport GUI from 'lil-gui'\nimport { Logger, LogLevel } from '@epicgames-ps/lib-pixelstreamingcommon-ue5.5'\n\nLogger.InitLogging(LogLevel.Info, false)\nconst { UERPCNode, Animation, Transform } = Addons\n\nlet world: InstanceType<typeof Addons.World>\nlet camera: InstanceType<typeof PerspectiveCamera>\nlet animationMixer: InstanceType<typeof Animation.AnimationMixer> | null = null\n\nlet animatedObject: InstanceType<typeof UERPCNode> | null = null\n\nasync function _initializeApp() {\n // const url = `ws://120.27.198.158:9001/player`\n const url = `wss://kdyjs-proxy.metamaker.cn/proxy_gis_sdk`\n const AppElement = document.querySelector('#ue')! as HTMLElement\n let result = await initializeApp(url, AppElement)\n world = result.world\n camera = result.camera\n\n animationMixer = new Animation.AnimationMixer(world.rpc)\n\n // 可以在此处加载需要进行关键帧动画的对象\n // 示例:加载一个简单的静态网格对象\n animatedObject = await world.spawnStaticMeshActor({\n assetPath: '/Game/Mesh/test/63'\n })\n\n // 设置相机位置以便观察动画\n camera.transform.position.x = -180\n camera.transform.position.y = -10\n camera.transform.position.z = 10\n}\n\n// 判断 window 是否初始化完成\nif (document.readyState === 'loading') {\n // 文档正在加载,等待DOMContentLoaded事件\n document.addEventListener('DOMContentLoaded', _initializeApp)\n} else {\n // 文档已经加载完成,直接初始化应用\n _initializeApp()\n}\n\nconst gui = new GUI()\n\nlet animateAction: InstanceType<typeof Animation.AnimationAction> | undefined\nlet animateClip: InstanceType<typeof Animation.KeyFrameAnimateClip> | undefined\n\nanimateClip = new Animation.KeyFrameAnimateClip({\n startTransform: Transform.default(),\n endTransform: Transform.fromRPCObject({\n Location: {\n X: 800,\n Y: 0,\n Z: 0\n }\n })\n})\n\nconst animationConfig = {\n playing: false\n}\nconst animationControls = {\n play: async () => {\n if (!animateAction) {\n animateAction = animationMixer!.clipAction(animateClip, animatedObject!)\n animateAction.duration = 3\n }\n animateAction.play()\n animationConfig.playing = true\n updateButtonStates()\n },\n pause: async () => {\n animateAction!.pause()\n animationConfig.playing = false\n updateButtonStates()\n }\n}\n\nconst animationFolder = gui.addFolder('动画控制')\n\nlet playButton: any, pauseButton: any\n\nplayButton = animationFolder\n .add(animationControls, 'play')\n .name('播放')\n .disable(animationConfig.playing)\npauseButton = animationFolder\n .add(animationControls, 'pause')\n .name('暂停')\n .enable(animationConfig.playing)\n\n// 更新按钮状态的函数\nfunction updateButtonStates() {\n if (playButton) {\n if (animationConfig.playing) {\n playButton.disable()\n pauseButton.enable()\n } else {\n playButton.enable()\n pauseButton.disable()\n }\n }\n}\n\nanimationFolder.open()\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,97 @@
1
+
2
+ (function(l, r) { if (!l || l.getElementById('livereloadscript')) return; r = l.createElement('script'); r.async = 1; r.src = '//' + (self.location.host || 'localhost').split(':')[0] + ':35729/livereload.js?snipver=1'; r.id = 'livereloadscript'; l.getElementsByTagName('head')[0].appendChild(r) })(self.document);
3
+ 'use strict';
4
+
5
+ var common = require('./common.js');
6
+ var index = require('./index2.js');
7
+
8
+ index.Logger.InitLogging(index.LogLevel.Info, false);
9
+ const { UERPCNode, Animation, Transform } = common.Addons;
10
+ let world;
11
+ let camera;
12
+ let animationMixer = null;
13
+ let animatedObject = null;
14
+ async function _initializeApp() {
15
+ // const url = `ws://120.27.198.158:9001/player`
16
+ const url = `wss://kdyjs-proxy.metamaker.cn/proxy_gis_sdk`;
17
+ const AppElement = document.querySelector('#ue');
18
+ let result = await common.initializeApp(url, AppElement);
19
+ world = result.world;
20
+ camera = result.camera;
21
+ animationMixer = new Animation.AnimationMixer(world.rpc);
22
+ // 可以在此处加载需要进行关键帧动画的对象
23
+ // 示例:加载一个简单的静态网格对象
24
+ animatedObject = await world.spawnStaticMeshActor({
25
+ assetPath: '/Game/Mesh/test/63'
26
+ });
27
+ // 设置相机位置以便观察动画
28
+ camera.transform.position.x = -180;
29
+ camera.transform.position.y = -10;
30
+ camera.transform.position.z = 10;
31
+ }
32
+ // 判断 window 是否初始化完成
33
+ if (document.readyState === 'loading') {
34
+ // 文档正在加载,等待DOMContentLoaded事件
35
+ document.addEventListener('DOMContentLoaded', _initializeApp);
36
+ }
37
+ else {
38
+ // 文档已经加载完成,直接初始化应用
39
+ _initializeApp();
40
+ }
41
+ const gui = new common.GUI();
42
+ let animateAction;
43
+ let animateClip;
44
+ animateClip = new Animation.KeyFrameAnimateClip({
45
+ startTransform: Transform.default(),
46
+ endTransform: Transform.fromRPCObject({
47
+ Location: {
48
+ X: 800,
49
+ Y: 0,
50
+ Z: 0
51
+ }
52
+ })
53
+ });
54
+ const animationConfig = {
55
+ playing: false
56
+ };
57
+ const animationControls = {
58
+ play: async () => {
59
+ if (!animateAction) {
60
+ animateAction = animationMixer.clipAction(animateClip, animatedObject);
61
+ animateAction.duration = 3;
62
+ }
63
+ animateAction.play();
64
+ animationConfig.playing = true;
65
+ updateButtonStates();
66
+ },
67
+ pause: async () => {
68
+ animateAction.pause();
69
+ animationConfig.playing = false;
70
+ updateButtonStates();
71
+ }
72
+ };
73
+ const animationFolder = gui.addFolder('动画控制');
74
+ let playButton, pauseButton;
75
+ playButton = animationFolder
76
+ .add(animationControls, 'play')
77
+ .name('播放')
78
+ .disable(animationConfig.playing);
79
+ pauseButton = animationFolder
80
+ .add(animationControls, 'pause')
81
+ .name('暂停')
82
+ .enable(animationConfig.playing);
83
+ // 更新按钮状态的函数
84
+ function updateButtonStates() {
85
+ if (playButton) {
86
+ if (animationConfig.playing) {
87
+ playButton.disable();
88
+ pauseButton.enable();
89
+ }
90
+ else {
91
+ playButton.enable();
92
+ pauseButton.disable();
93
+ }
94
+ }
95
+ }
96
+ animationFolder.open();
97
+ //# sourceMappingURL=keyframe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyframe.js","sources":["../src/keyframe.ts"],"sourcesContent":["import { Addons } from 'hj-gis-sdk'\n\n/// 关键帧动画效果示例\n\nimport { PerspectiveCamera } from 'hj-gis-sdk/addons/camera'\nimport { initializeApp } from './common'\n\nimport GUI from 'lil-gui'\nimport { Logger, LogLevel } from '@epicgames-ps/lib-pixelstreamingcommon-ue5.5'\n\nLogger.InitLogging(LogLevel.Info, false)\nconst { UERPCNode, Animation, Transform } = Addons\n\nlet world: InstanceType<typeof Addons.World>\nlet camera: InstanceType<typeof PerspectiveCamera>\nlet animationMixer: InstanceType<typeof Animation.AnimationMixer> | null = null\n\nlet animatedObject: InstanceType<typeof UERPCNode> | null = null\n\nasync function _initializeApp() {\n // const url = `ws://120.27.198.158:9001/player`\n const url = `wss://kdyjs-proxy.metamaker.cn/proxy_gis_sdk`\n const AppElement = document.querySelector('#ue')! as HTMLElement\n let result = await initializeApp(url, AppElement)\n world = result.world\n camera = result.camera\n\n animationMixer = new Animation.AnimationMixer(world.rpc)\n\n // 可以在此处加载需要进行关键帧动画的对象\n // 示例:加载一个简单的静态网格对象\n animatedObject = await world.spawnStaticMeshActor({\n assetPath: '/Game/Mesh/test/63'\n })\n\n // 设置相机位置以便观察动画\n camera.transform.position.x = -180\n camera.transform.position.y = -10\n camera.transform.position.z = 10\n}\n\n// 判断 window 是否初始化完成\nif (document.readyState === 'loading') {\n // 文档正在加载,等待DOMContentLoaded事件\n document.addEventListener('DOMContentLoaded', _initializeApp)\n} else {\n // 文档已经加载完成,直接初始化应用\n _initializeApp()\n}\n\nconst gui = new GUI()\n\nlet animateAction: InstanceType<typeof Animation.AnimationAction> | undefined\nlet animateClip: InstanceType<typeof Animation.KeyFrameAnimateClip> | undefined\n\nanimateClip = new Animation.KeyFrameAnimateClip({\n startTransform: Transform.default(),\n endTransform: Transform.fromRPCObject({\n Location: {\n X: 800,\n Y: 0,\n Z: 0\n }\n })\n})\n\nconst animationConfig = {\n playing: false\n}\nconst animationControls = {\n play: async () => {\n if (!animateAction) {\n animateAction = animationMixer!.clipAction(animateClip, animatedObject!)\n animateAction.duration = 3\n }\n animateAction.play()\n animationConfig.playing = true\n updateButtonStates()\n },\n pause: async () => {\n animateAction!.pause()\n animationConfig.playing = false\n updateButtonStates()\n }\n}\n\nconst animationFolder = gui.addFolder('动画控制')\n\nlet playButton: any, pauseButton: any\n\nplayButton = animationFolder\n .add(animationControls, 'play')\n .name('播放')\n .disable(animationConfig.playing)\npauseButton = animationFolder\n .add(animationControls, 'pause')\n .name('暂停')\n .enable(animationConfig.playing)\n\n// 更新按钮状态的函数\nfunction updateButtonStates() {\n if (playButton) {\n if (animationConfig.playing) {\n playButton.disable()\n pauseButton.enable()\n } else {\n playButton.enable()\n pauseButton.disable()\n }\n }\n}\n\nanimationFolder.open()\n"],"names":["Logger","LogLevel","Addons","initializeApp","GUI"],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+
2
+ (function(l, r) { if (!l || l.getElementById('livereloadscript')) return; r = l.createElement('script'); r.async = 1; r.src = '//' + (self.location.host || 'localhost').split(':')[0] + ':35729/livereload.js?snipver=1'; r.id = 'livereloadscript'; l.getElementsByTagName('head')[0].appendChild(r) })(self.document);
3
+ import { G as GUI, A as Addons, i as initializeApp } from './common.esm.js';
4
+ import { L as Logger, c as LogLevel } from './index.esm2.js';
5
+
6
+ Logger.InitLogging(LogLevel.Info, false);
7
+ const { UERPCNode, MeasurementType } = Addons;
8
+ let world;
9
+ let camera;
10
+ async function _initializeApp() {
11
+ // const url = `ws://120.27.198.158:9001/player`
12
+ const url = `wss://kdyjs-proxy.metamaker.cn/proxy_gis_sdk`;
13
+ const AppElement = document.querySelector('#ue');
14
+ let result = await initializeApp(url, AppElement);
15
+ world = result.world;
16
+ camera = result.camera;
17
+ // 加载地图 并 调整 camera 的站位
18
+ await world.loadLevelByName('plgz');
19
+ camera.transform.rotation.pitch = -12.259792797845645;
20
+ camera.transform.rotation.yaw = 126.9423080594274;
21
+ camera.transform.rotation.roll = 0.00003001662846458654;
22
+ camera.transform.position.set(-234809.24784008358, -74593.71088085348, 13755.085257765979);
23
+ }
24
+ // 判断 window 是否初始化完成
25
+ if (document.readyState === 'loading') {
26
+ // 文档正在加载,等待DOMContentLoaded事件
27
+ document.addEventListener('DOMContentLoaded', _initializeApp);
28
+ }
29
+ else {
30
+ // 文档已经加载完成,直接初始化应用
31
+ _initializeApp();
32
+ }
33
+ const MeasurementOptions = {
34
+ 区域: MeasurementType.Area,
35
+ 线段: MeasurementType.Path,
36
+ 高度: MeasurementType.Height
37
+ };
38
+ const MeasurementConfig = {
39
+ measurement: ''
40
+ };
41
+ const gui = new GUI();
42
+ gui.add(MeasurementConfig, 'measurement', MeasurementOptions).name('测量类型');
43
+ gui
44
+ .add({
45
+ measure: () => {
46
+ world.tools.measurement.draw(MeasurementConfig.measurement);
47
+ }
48
+ }, 'measure')
49
+ .name('测量开始');
50
+ gui
51
+ .add({
52
+ cancel: () => {
53
+ world.tools.measurement.clean();
54
+ }
55
+ }, 'cancel')
56
+ .name('测量取消');
57
+ //# sourceMappingURL=measurement.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"measurement.esm.js","sources":["../src/measurement.ts"],"sourcesContent":["import { Addons } from 'hj-gis-sdk'\n\n/// 测量示例\n\nimport { PerspectiveCamera } from 'hj-gis-sdk/addons/camera'\nimport { initializeApp } from './common'\n\nimport GUI from 'lil-gui'\nimport { Logger, LogLevel } from '@epicgames-ps/lib-pixelstreamingcommon-ue5.5'\n\nLogger.InitLogging(LogLevel.Info, false)\nconst { UERPCNode, MeasurementType } = Addons\n\nlet world: InstanceType<typeof Addons.World>\nlet camera: InstanceType<typeof PerspectiveCamera>\n\nlet measurementNode: InstanceType<typeof UERPCNode>\n\nasync function _initializeApp() {\n // const url = `ws://120.27.198.158:9001/player`\n const url = `wss://kdyjs-proxy.metamaker.cn/proxy_gis_sdk`\n const AppElement = document.querySelector('#ue')! as HTMLElement\n let result = await initializeApp(url, AppElement)\n world = result.world\n camera = result.camera\n\n // 加载地图 并 调整 camera 的站位\n await world!.loadLevelByName('plgz')\n camera!.transform.rotation.pitch = -12.259792797845645\n camera!.transform.rotation.yaw = 126.9423080594274\n camera!.transform.rotation.roll = 0.00003001662846458654\n camera!.transform.position.set(\n -234809.24784008358,\n -74593.71088085348,\n 13755.085257765979\n )\n}\n\n// 判断 window 是否初始化完成\nif (document.readyState === 'loading') {\n // 文档正在加载,等待DOMContentLoaded事件\n document.addEventListener('DOMContentLoaded', _initializeApp)\n} else {\n // 文档已经加载完成,直接初始化应用\n _initializeApp()\n}\n\nconst MeasurementOptions = {\n 区域: MeasurementType.Area,\n 线段: MeasurementType.Path,\n 高度: MeasurementType.Height\n}\n\nconst MeasurementConfig = {\n measurement: ''\n}\n\nconst gui = new GUI()\n\ngui.add(MeasurementConfig, 'measurement', MeasurementOptions).name('测量类型')\ngui\n .add(\n {\n measure: () => {\n world!.tools.measurement.draw(MeasurementConfig.measurement)\n }\n },\n 'measure'\n )\n .name('测量开始')\ngui\n .add(\n {\n cancel: () => {\n world!.tools.measurement.clean()\n }\n },\n 'cancel'\n )\n .name('测量取消')\n"],"names":[],"mappings":";;;;;AAUA,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;AACxC,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,MAAM,CAAA;AAE7C,IAAI,KAAwC,CAAA;AAC5C,IAAI,MAA8C,CAAA;AAIlD,eAAe,cAAc,GAAA;;IAE3B,MAAM,GAAG,GAAG,CAAA,4CAAA,CAA8C,CAAA;IAC1D,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAiB,CAAA;IAChE,IAAI,MAAM,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA;AACjD,IAAA,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;AACpB,IAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;;AAGtB,IAAA,MAAM,KAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;IACpC,MAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,kBAAkB,CAAA;IACtD,MAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,GAAG,iBAAiB,CAAA;IAClD,MAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,GAAG,sBAAsB,CAAA;AACxD,IAAA,MAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAC5B,CAAC,kBAAkB,EACnB,CAAC,iBAAiB,EAClB,kBAAkB,CACnB,CAAA;AACH,CAAC;AAED;AACA,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,EAAE;;AAErC,IAAA,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAA;AAC/D,CAAC;KAAM;;AAEL,IAAA,cAAc,EAAE,CAAA;AAClB,CAAC;AAED,MAAM,kBAAkB,GAAG;IACzB,EAAE,EAAE,eAAe,CAAC,IAAI;IACxB,EAAE,EAAE,eAAe,CAAC,IAAI;IACxB,EAAE,EAAE,eAAe,CAAC,MAAM;CAC3B,CAAA;AAED,MAAM,iBAAiB,GAAG;AACxB,IAAA,WAAW,EAAE,EAAE;CAChB,CAAA;AAED,MAAM,GAAG,GAAG,IAAI,GAAG,EAAE,CAAA;AAErB,GAAG,CAAC,GAAG,CAAC,iBAAiB,EAAE,aAAa,EAAE,kBAAkB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;AAC1E,GAAG;AACA,KAAA,GAAG,CACF;IACE,OAAO,EAAE,MAAK;QACZ,KAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAA;KAC7D;AACF,CAAA,EACD,SAAS,CACV;KACA,IAAI,CAAC,MAAM,CAAC,CAAA;AACf,GAAG;AACA,KAAA,GAAG,CACF;IACE,MAAM,EAAE,MAAK;AACX,QAAA,KAAM,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,CAAA;KACjC;AACF,CAAA,EACD,QAAQ,CACT;KACA,IAAI,CAAC,MAAM,CAAC"}
@@ -0,0 +1,59 @@
1
+
2
+ (function(l, r) { if (!l || l.getElementById('livereloadscript')) return; r = l.createElement('script'); r.async = 1; r.src = '//' + (self.location.host || 'localhost').split(':')[0] + ':35729/livereload.js?snipver=1'; r.id = 'livereloadscript'; l.getElementsByTagName('head')[0].appendChild(r) })(self.document);
3
+ 'use strict';
4
+
5
+ var common = require('./common.js');
6
+ var index = require('./index2.js');
7
+
8
+ index.Logger.InitLogging(index.LogLevel.Info, false);
9
+ const { UERPCNode, MeasurementType } = common.Addons;
10
+ let world;
11
+ let camera;
12
+ async function _initializeApp() {
13
+ // const url = `ws://120.27.198.158:9001/player`
14
+ const url = `wss://kdyjs-proxy.metamaker.cn/proxy_gis_sdk`;
15
+ const AppElement = document.querySelector('#ue');
16
+ let result = await common.initializeApp(url, AppElement);
17
+ world = result.world;
18
+ camera = result.camera;
19
+ // 加载地图 并 调整 camera 的站位
20
+ await world.loadLevelByName('plgz');
21
+ camera.transform.rotation.pitch = -12.259792797845645;
22
+ camera.transform.rotation.yaw = 126.9423080594274;
23
+ camera.transform.rotation.roll = 0.00003001662846458654;
24
+ camera.transform.position.set(-234809.24784008358, -74593.71088085348, 13755.085257765979);
25
+ }
26
+ // 判断 window 是否初始化完成
27
+ if (document.readyState === 'loading') {
28
+ // 文档正在加载,等待DOMContentLoaded事件
29
+ document.addEventListener('DOMContentLoaded', _initializeApp);
30
+ }
31
+ else {
32
+ // 文档已经加载完成,直接初始化应用
33
+ _initializeApp();
34
+ }
35
+ const MeasurementOptions = {
36
+ 区域: MeasurementType.Area,
37
+ 线段: MeasurementType.Path,
38
+ 高度: MeasurementType.Height
39
+ };
40
+ const MeasurementConfig = {
41
+ measurement: ''
42
+ };
43
+ const gui = new common.GUI();
44
+ gui.add(MeasurementConfig, 'measurement', MeasurementOptions).name('测量类型');
45
+ gui
46
+ .add({
47
+ measure: () => {
48
+ world.tools.measurement.draw(MeasurementConfig.measurement);
49
+ }
50
+ }, 'measure')
51
+ .name('测量开始');
52
+ gui
53
+ .add({
54
+ cancel: () => {
55
+ world.tools.measurement.clean();
56
+ }
57
+ }, 'cancel')
58
+ .name('测量取消');
59
+ //# sourceMappingURL=measurement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"measurement.js","sources":["../src/measurement.ts"],"sourcesContent":["import { Addons } from 'hj-gis-sdk'\n\n/// 测量示例\n\nimport { PerspectiveCamera } from 'hj-gis-sdk/addons/camera'\nimport { initializeApp } from './common'\n\nimport GUI from 'lil-gui'\nimport { Logger, LogLevel } from '@epicgames-ps/lib-pixelstreamingcommon-ue5.5'\n\nLogger.InitLogging(LogLevel.Info, false)\nconst { UERPCNode, MeasurementType } = Addons\n\nlet world: InstanceType<typeof Addons.World>\nlet camera: InstanceType<typeof PerspectiveCamera>\n\nlet measurementNode: InstanceType<typeof UERPCNode>\n\nasync function _initializeApp() {\n // const url = `ws://120.27.198.158:9001/player`\n const url = `wss://kdyjs-proxy.metamaker.cn/proxy_gis_sdk`\n const AppElement = document.querySelector('#ue')! as HTMLElement\n let result = await initializeApp(url, AppElement)\n world = result.world\n camera = result.camera\n\n // 加载地图 并 调整 camera 的站位\n await world!.loadLevelByName('plgz')\n camera!.transform.rotation.pitch = -12.259792797845645\n camera!.transform.rotation.yaw = 126.9423080594274\n camera!.transform.rotation.roll = 0.00003001662846458654\n camera!.transform.position.set(\n -234809.24784008358,\n -74593.71088085348,\n 13755.085257765979\n )\n}\n\n// 判断 window 是否初始化完成\nif (document.readyState === 'loading') {\n // 文档正在加载,等待DOMContentLoaded事件\n document.addEventListener('DOMContentLoaded', _initializeApp)\n} else {\n // 文档已经加载完成,直接初始化应用\n _initializeApp()\n}\n\nconst MeasurementOptions = {\n 区域: MeasurementType.Area,\n 线段: MeasurementType.Path,\n 高度: MeasurementType.Height\n}\n\nconst MeasurementConfig = {\n measurement: ''\n}\n\nconst gui = new GUI()\n\ngui.add(MeasurementConfig, 'measurement', MeasurementOptions).name('测量类型')\ngui\n .add(\n {\n measure: () => {\n world!.tools.measurement.draw(MeasurementConfig.measurement)\n }\n },\n 'measure'\n )\n .name('测量开始')\ngui\n .add(\n {\n cancel: () => {\n world!.tools.measurement.clean()\n }\n },\n 'cancel'\n )\n .name('测量取消')\n"],"names":["Logger","LogLevel","Addons","initializeApp","GUI"],"mappings":";;;;;;;AAUAA,YAAM,CAAC,WAAW,CAACC,cAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;AACxC,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,GAAGC,aAAM,CAAA;AAE7C,IAAI,KAAwC,CAAA;AAC5C,IAAI,MAA8C,CAAA;AAIlD,eAAe,cAAc,GAAA;;IAE3B,MAAM,GAAG,GAAG,CAAA,4CAAA,CAA8C,CAAA;IAC1D,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAiB,CAAA;IAChE,IAAI,MAAM,GAAG,MAAMC,oBAAa,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA;AACjD,IAAA,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;AACpB,IAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;;AAGtB,IAAA,MAAM,KAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;IACpC,MAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,kBAAkB,CAAA;IACtD,MAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,GAAG,iBAAiB,CAAA;IAClD,MAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,GAAG,sBAAsB,CAAA;AACxD,IAAA,MAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAC5B,CAAC,kBAAkB,EACnB,CAAC,iBAAiB,EAClB,kBAAkB,CACnB,CAAA;AACH,CAAC;AAED;AACA,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,EAAE;;AAErC,IAAA,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAA;AAC/D,CAAC;KAAM;;AAEL,IAAA,cAAc,EAAE,CAAA;AAClB,CAAC;AAED,MAAM,kBAAkB,GAAG;IACzB,EAAE,EAAE,eAAe,CAAC,IAAI;IACxB,EAAE,EAAE,eAAe,CAAC,IAAI;IACxB,EAAE,EAAE,eAAe,CAAC,MAAM;CAC3B,CAAA;AAED,MAAM,iBAAiB,GAAG;AACxB,IAAA,WAAW,EAAE,EAAE;CAChB,CAAA;AAED,MAAM,GAAG,GAAG,IAAIC,UAAG,EAAE,CAAA;AAErB,GAAG,CAAC,GAAG,CAAC,iBAAiB,EAAE,aAAa,EAAE,kBAAkB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;AAC1E,GAAG;AACA,KAAA,GAAG,CACF;IACE,OAAO,EAAE,MAAK;QACZ,KAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAA;KAC7D;AACF,CAAA,EACD,SAAS,CACV;KACA,IAAI,CAAC,MAAM,CAAC,CAAA;AACf,GAAG;AACA,KAAA,GAAG,CACF;IACE,MAAM,EAAE,MAAK;AACX,QAAA,KAAM,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,CAAA;KACjC;AACF,CAAA,EACD,QAAQ,CACT;KACA,IAAI,CAAC,MAAM,CAAC;;"}
@@ -0,0 +1,85 @@
1
+
2
+ (function(l, r) { if (!l || l.getElementById('livereloadscript')) return; r = l.createElement('script'); r.async = 1; r.src = '//' + (self.location.host || 'localhost').split(':')[0] + ':35729/livereload.js?snipver=1'; r.id = 'livereloadscript'; l.getElementsByTagName('head')[0].appendChild(r) })(self.document);
3
+ import { G as GUI, i as initializeApp } from './common.esm.js';
4
+ import { L as Logger, c as LogLevel } from './index.esm2.js';
5
+
6
+ /// 散点图
7
+ Logger.InitLogging(LogLevel.Info, false);
8
+ let world;
9
+ let camera;
10
+ async function _initializeApp() {
11
+ // const url = `ws://120.27.198.158:9001/player`
12
+ const url = `wss://kdyjs-proxy.metamaker.cn/proxy_gis_sdk`;
13
+ const AppElement = document.querySelector('#ue');
14
+ let result = await initializeApp(url, AppElement);
15
+ world = result.world;
16
+ camera = result.camera;
17
+ // 加载地图 并 调整 camera 的站位
18
+ await world.loadLevelByName('plgz');
19
+ // 设置相机位置
20
+ camera.transform.position.z = 100;
21
+ camera.transform.position.x = -100;
22
+ }
23
+ // 判断 window 是否初始化完成
24
+ if (document.readyState === 'loading') {
25
+ // 文档正在加载,等待DOMContentLoaded事件
26
+ document.addEventListener('DOMContentLoaded', _initializeApp);
27
+ }
28
+ else {
29
+ // 文档已经加载完成,直接初始化应用
30
+ _initializeApp();
31
+ }
32
+ // 散点图处理器类型
33
+ let handler;
34
+ const gui = new GUI();
35
+ // 生成散点图按钮
36
+ gui
37
+ .add({
38
+ generate: async () => {
39
+ // 散点图生成逻辑
40
+ if (handler) {
41
+ await handler.removeAll();
42
+ handler = undefined;
43
+ }
44
+ // 创建示例点集
45
+ const pointParams = [
46
+ {
47
+ location: { X: 10, Y: 10, Z: 0 },
48
+ scale: { X: 1, Y: 1, Z: 1 },
49
+ tag: 'point1',
50
+ textContent: '点1'
51
+ },
52
+ {
53
+ location: { X: 20, Y: 20, Z: 0 },
54
+ scale: { X: 1, Y: 1, Z: 1 },
55
+ tag: 'point2',
56
+ textContent: 'POI_2'
57
+ },
58
+ {
59
+ location: { X: 30, Y: 10, Z: 0 },
60
+ scale: { X: 1, Y: 1, Z: 1 },
61
+ tag: 'point3',
62
+ textContent: 'POI_3'
63
+ }
64
+ ];
65
+ // 创建散点图
66
+ handler = await world.tools.scatter.create({
67
+ pointParams: pointParams
68
+ });
69
+ console.log('散点图生成成功', handler);
70
+ }
71
+ }, 'generate')
72
+ .name('生成散点图');
73
+ // 销毁散点图按钮
74
+ gui
75
+ .add({
76
+ destroy: async () => {
77
+ if (handler) {
78
+ await handler.removeAll();
79
+ handler = undefined;
80
+ console.log('散点图已销毁');
81
+ }
82
+ }
83
+ }, 'destroy')
84
+ .name('销毁散点图');
85
+ //# sourceMappingURL=scatter.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scatter.esm.js","sources":["../src/scatter.ts"],"sourcesContent":["/// 散点图\n\nimport { PerspectiveCamera } from 'hj-gis-sdk/addons/camera'\nimport { initializeApp } from './common'\nimport { Addons } from 'hj-gis-sdk'\nimport GUI from 'lil-gui'\nimport { Logger, LogLevel } from '@epicgames-ps/lib-pixelstreamingcommon-ue5.5'\n\nLogger.InitLogging(LogLevel.Info, false)\nlet world: InstanceType<typeof Addons.World>\nlet camera: InstanceType<typeof PerspectiveCamera>\n\nasync function _initializeApp() {\n // const url = `ws://120.27.198.158:9001/player`\n const url = `wss://kdyjs-proxy.metamaker.cn/proxy_gis_sdk`\n const AppElement = document.querySelector('#ue')! as HTMLElement\n let result = await initializeApp(url, AppElement)\n world = result.world\n camera = result.camera\n\n // 加载地图 并 调整 camera 的站位\n await world!.loadLevelByName('plgz')\n\n // 设置相机位置\n camera!.transform.position.z = 100\n camera!.transform.position.x = -100\n}\n\n// 判断 window 是否初始化完成\nif (document.readyState === 'loading') {\n // 文档正在加载,等待DOMContentLoaded事件\n document.addEventListener('DOMContentLoaded', _initializeApp)\n} else {\n // 文档已经加载完成,直接初始化应用\n _initializeApp()\n}\n\n// 散点图处理器类型\nlet handler: any\nconst gui = new GUI()\n\n// GUI 配置参数\nconst scatterConfig = {\n // 散点图配置参数\n}\n\n// 生成散点图按钮\ngui\n .add(\n {\n generate: async () => {\n // 散点图生成逻辑\n if (handler) {\n await handler.removeAll()\n handler = undefined\n }\n\n // 创建示例点集\n const pointParams = [\n {\n location: { X: 10, Y: 10, Z: 0 },\n scale: { X: 1, Y: 1, Z: 1 },\n tag: 'point1',\n textContent: '点1'\n },\n {\n location: { X: 20, Y: 20, Z: 0 },\n scale: { X: 1, Y: 1, Z: 1 },\n tag: 'point2',\n textContent: 'POI_2'\n },\n {\n location: { X: 30, Y: 10, Z: 0 },\n scale: { X: 1, Y: 1, Z: 1 },\n tag: 'point3',\n textContent: 'POI_3'\n }\n ]\n\n // 创建散点图\n handler = await world.tools.scatter.create({\n pointParams: pointParams\n })\n console.log('散点图生成成功', handler)\n }\n },\n 'generate'\n )\n .name('生成散点图')\n\n// 销毁散点图按钮\ngui\n .add(\n {\n destroy: async () => {\n if (handler) {\n await handler.removeAll()\n handler = undefined\n console.log('散点图已销毁')\n }\n }\n },\n 'destroy'\n )\n .name('销毁散点图')\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,87 @@
1
+
2
+ (function(l, r) { if (!l || l.getElementById('livereloadscript')) return; r = l.createElement('script'); r.async = 1; r.src = '//' + (self.location.host || 'localhost').split(':')[0] + ':35729/livereload.js?snipver=1'; r.id = 'livereloadscript'; l.getElementsByTagName('head')[0].appendChild(r) })(self.document);
3
+ 'use strict';
4
+
5
+ var common = require('./common.js');
6
+ var index = require('./index2.js');
7
+
8
+ /// 散点图
9
+ index.Logger.InitLogging(index.LogLevel.Info, false);
10
+ let world;
11
+ let camera;
12
+ async function _initializeApp() {
13
+ // const url = `ws://120.27.198.158:9001/player`
14
+ const url = `wss://kdyjs-proxy.metamaker.cn/proxy_gis_sdk`;
15
+ const AppElement = document.querySelector('#ue');
16
+ let result = await common.initializeApp(url, AppElement);
17
+ world = result.world;
18
+ camera = result.camera;
19
+ // 加载地图 并 调整 camera 的站位
20
+ await world.loadLevelByName('plgz');
21
+ // 设置相机位置
22
+ camera.transform.position.z = 100;
23
+ camera.transform.position.x = -100;
24
+ }
25
+ // 判断 window 是否初始化完成
26
+ if (document.readyState === 'loading') {
27
+ // 文档正在加载,等待DOMContentLoaded事件
28
+ document.addEventListener('DOMContentLoaded', _initializeApp);
29
+ }
30
+ else {
31
+ // 文档已经加载完成,直接初始化应用
32
+ _initializeApp();
33
+ }
34
+ // 散点图处理器类型
35
+ let handler;
36
+ const gui = new common.GUI();
37
+ // 生成散点图按钮
38
+ gui
39
+ .add({
40
+ generate: async () => {
41
+ // 散点图生成逻辑
42
+ if (handler) {
43
+ await handler.removeAll();
44
+ handler = undefined;
45
+ }
46
+ // 创建示例点集
47
+ const pointParams = [
48
+ {
49
+ location: { X: 10, Y: 10, Z: 0 },
50
+ scale: { X: 1, Y: 1, Z: 1 },
51
+ tag: 'point1',
52
+ textContent: '点1'
53
+ },
54
+ {
55
+ location: { X: 20, Y: 20, Z: 0 },
56
+ scale: { X: 1, Y: 1, Z: 1 },
57
+ tag: 'point2',
58
+ textContent: 'POI_2'
59
+ },
60
+ {
61
+ location: { X: 30, Y: 10, Z: 0 },
62
+ scale: { X: 1, Y: 1, Z: 1 },
63
+ tag: 'point3',
64
+ textContent: 'POI_3'
65
+ }
66
+ ];
67
+ // 创建散点图
68
+ handler = await world.tools.scatter.create({
69
+ pointParams: pointParams
70
+ });
71
+ console.log('散点图生成成功', handler);
72
+ }
73
+ }, 'generate')
74
+ .name('生成散点图');
75
+ // 销毁散点图按钮
76
+ gui
77
+ .add({
78
+ destroy: async () => {
79
+ if (handler) {
80
+ await handler.removeAll();
81
+ handler = undefined;
82
+ console.log('散点图已销毁');
83
+ }
84
+ }
85
+ }, 'destroy')
86
+ .name('销毁散点图');
87
+ //# sourceMappingURL=scatter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scatter.js","sources":["../src/scatter.ts"],"sourcesContent":["/// 散点图\n\nimport { PerspectiveCamera } from 'hj-gis-sdk/addons/camera'\nimport { initializeApp } from './common'\nimport { Addons } from 'hj-gis-sdk'\nimport GUI from 'lil-gui'\nimport { Logger, LogLevel } from '@epicgames-ps/lib-pixelstreamingcommon-ue5.5'\n\nLogger.InitLogging(LogLevel.Info, false)\nlet world: InstanceType<typeof Addons.World>\nlet camera: InstanceType<typeof PerspectiveCamera>\n\nasync function _initializeApp() {\n // const url = `ws://120.27.198.158:9001/player`\n const url = `wss://kdyjs-proxy.metamaker.cn/proxy_gis_sdk`\n const AppElement = document.querySelector('#ue')! as HTMLElement\n let result = await initializeApp(url, AppElement)\n world = result.world\n camera = result.camera\n\n // 加载地图 并 调整 camera 的站位\n await world!.loadLevelByName('plgz')\n\n // 设置相机位置\n camera!.transform.position.z = 100\n camera!.transform.position.x = -100\n}\n\n// 判断 window 是否初始化完成\nif (document.readyState === 'loading') {\n // 文档正在加载,等待DOMContentLoaded事件\n document.addEventListener('DOMContentLoaded', _initializeApp)\n} else {\n // 文档已经加载完成,直接初始化应用\n _initializeApp()\n}\n\n// 散点图处理器类型\nlet handler: any\nconst gui = new GUI()\n\n// GUI 配置参数\nconst scatterConfig = {\n // 散点图配置参数\n}\n\n// 生成散点图按钮\ngui\n .add(\n {\n generate: async () => {\n // 散点图生成逻辑\n if (handler) {\n await handler.removeAll()\n handler = undefined\n }\n\n // 创建示例点集\n const pointParams = [\n {\n location: { X: 10, Y: 10, Z: 0 },\n scale: { X: 1, Y: 1, Z: 1 },\n tag: 'point1',\n textContent: '点1'\n },\n {\n location: { X: 20, Y: 20, Z: 0 },\n scale: { X: 1, Y: 1, Z: 1 },\n tag: 'point2',\n textContent: 'POI_2'\n },\n {\n location: { X: 30, Y: 10, Z: 0 },\n scale: { X: 1, Y: 1, Z: 1 },\n tag: 'point3',\n textContent: 'POI_3'\n }\n ]\n\n // 创建散点图\n handler = await world.tools.scatter.create({\n pointParams: pointParams\n })\n console.log('散点图生成成功', handler)\n }\n },\n 'generate'\n )\n .name('生成散点图')\n\n// 销毁散点图按钮\ngui\n .add(\n {\n destroy: async () => {\n if (handler) {\n await handler.removeAll()\n handler = undefined\n console.log('散点图已销毁')\n }\n }\n },\n 'destroy'\n )\n .name('销毁散点图')\n"],"names":["Logger","LogLevel","initializeApp","GUI"],"mappings":"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"}