@mapgis/webclient-vue-cesium 10.5.5-1 → 10.5.5-6

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 (124) hide show
  1. package/README.md +46 -49
  2. package/dist-libs/webclient-vue-cesium.common.js +191087 -0
  3. package/dist-libs/webclient-vue-cesium.css +1 -1
  4. package/dist-libs/webclient-vue-cesium.umd.js +191097 -0
  5. package/dist-libs/webclient-vue-cesium.umd.min.js +204 -194
  6. package/docs/.vuepress/config.js +47 -46
  7. package/docs/README.md +5 -4
  8. package/docs/api/analysis/Aspect.md +236 -0
  9. package/docs/api/analysis/Contour.md +240 -0
  10. package/docs/api/analysis/CutFill.md +306 -0
  11. package/docs/api/analysis/DynamicSection.md +336 -0
  12. package/docs/api/analysis/Excavate.md +3 -11
  13. package/docs/api/analysis/Flood.md +177 -200
  14. package/docs/api/analysis/HeightLimited.md +7 -4
  15. package/docs/api/analysis/ParticleEffects.md +549 -0
  16. package/docs/api/analysis/Profile.md +464 -0
  17. package/docs/api/analysis/Shadow.md +76 -13
  18. package/docs/api/analysis/Sightline.md +66 -13
  19. package/docs/api/analysis/Skyline.md +144 -29
  20. package/docs/api/analysis/Slope.md +236 -0
  21. package/docs/api/analysis/Viewshed.md +100 -21
  22. package/docs/api/layer/IGServer/IgsDocLayer.md +10 -0
  23. package/docs/api/layer/IGServer/IgsFeatureLayer.md +253 -0
  24. package/docs/api/layer/IGServer/IgsTileLayer.md +11 -0
  25. package/docs/api/layer/OGC/CesiumOgcWmsLayer.md +20 -19
  26. package/docs/api/layer/OGC/Wms.png +0 -0
  27. package/docs/api/layer/marker/DynamicMarker.md +81 -0
  28. package/docs/api/layer/marker/dynamicmarker.png +0 -0
  29. package/docs/api/layer/marker/selects.png +0 -0
  30. package/docs/api/layer/vectortile/vectortile.md +10 -0
  31. package/docs/api/m3d/image/layer_control_1.png +0 -0
  32. package/docs/api/m3d/image/layer_control_2.png +0 -0
  33. package/docs/api/m3d/image/layer_control_3.png +0 -0
  34. package/docs/api/m3d/m3d.md +13 -2
  35. package/docs/api/service/comprehensiveQuery/comprehensiveQuery.md +946 -0
  36. package/docs/api/ui/draw.md +68 -40
  37. package/docs/api/ui/link.md +8 -1
  38. package/docs/api/ui/marker.md +19 -1
  39. package/docs/api/ui/measure.md +82 -10
  40. package/docs/api/ui/table.md +6 -6
  41. package/docs/guide/README.md +26 -23
  42. package/docs/guide/basemap.md +35 -33
  43. package/docs/guide/markers&popups.md +46 -53
  44. package/docs/plugin_components/create_storybook.md +241 -0
  45. package/docs/plugin_components/img.png +0 -0
  46. package/docs/plugin_components/img_1.png +0 -0
  47. package/docs/plugin_components/img_10.png +0 -0
  48. package/docs/plugin_components/img_2.png +0 -0
  49. package/docs/plugin_components/img_3.png +0 -0
  50. package/docs/plugin_components/img_4.png +0 -0
  51. package/docs/plugin_components/img_5.png +0 -0
  52. package/docs/plugin_components/img_6.png +0 -0
  53. package/docs/plugin_components/img_7.png +0 -0
  54. package/docs/plugin_components/img_8.png +0 -0
  55. package/docs/version/diff.md +4 -4
  56. package/docs/version/version.md +81 -0
  57. package/package.json +5 -5
  58. package/src/cdn/cdn_component.js +62 -0
  59. package/src/component.js +20 -2
  60. package/src/components/Analysis/Aspect.vue +318 -0
  61. package/src/components/Analysis/Contour.vue +257 -0
  62. package/src/components/Analysis/CutFill.vue +581 -0
  63. package/src/components/Analysis/DynamicCutting.vue +98 -59
  64. package/src/components/Analysis/DynamicSection.vue +494 -0
  65. package/src/components/Analysis/Excavate.vue +133 -87
  66. package/src/components/Analysis/Flood.vue +395 -487
  67. package/src/components/Analysis/Flood.vue-- +630 -0
  68. package/src/components/Analysis/HeightLimited.vue +66 -47
  69. package/src/components/Analysis/ModelFlatten.vue +2 -2
  70. package/src/components/Analysis/Profile.vue +503 -0
  71. package/src/components/Analysis/Shadow.vue +220 -309
  72. package/src/components/Analysis/Sightline.vue +393 -375
  73. package/src/components/Analysis/SkyLine.vue +283 -93
  74. package/src/components/Analysis/Slope.vue +317 -0
  75. package/src/components/Analysis/Viewshed.vue +806 -373
  76. package/src/components/Analysis/skyline2dChartOptions.js +66 -0
  77. package/src/components/DataSource/Geojson/GeoJsonDataSource.vue +201 -3
  78. package/src/components/Layer/GeoJSON/GeoJsonLayer.vue +345 -0
  79. package/src/components/Layer/IGServer/IgsFeatureLayer.vue +227 -0
  80. package/src/components/Layer/Marker/DynamicMarkerLayer.vue +487 -0
  81. package/src/components/Layer/Marker/Marker3dPro.vue +196 -0
  82. package/src/components/Layer/Marker/Marker3dSetPro.vue +67 -0
  83. package/src/components/Layer/VectorTile/VectorTileLayer.vue +117 -33
  84. package/src/components/Layer/VectorTile/VectorTileOptions.js +1 -1
  85. package/src/components/M3D/3DTilesetOptions.js +23 -1
  86. package/src/components/M3D/G3D.vue +150 -0
  87. package/src/components/M3D/M3d.vue +142 -32
  88. package/src/components/M3D/M3dSet.vue +118 -0
  89. package/src/components/M3D/M3dType.js +24 -0
  90. package/src/components/Overlay/Mapv3dLayer.vue +2 -0
  91. package/src/components/Overlay/ParticleEffects.vue +545 -0
  92. package/src/components/Overlay/mapv/MapvBaseLayer.js +351 -172
  93. package/src/components/Overlay/mapv/MapvLayer.js +372 -324
  94. package/src/components/Overlay/mapv/SuperCluster.js +611 -0
  95. package/src/components/Overlay/themeLayer/heater/CesiumHeater.vue +152 -0
  96. package/src/components/Overlay/themeLayer/heater/MapvHeater.vue +161 -0
  97. package/src/components/UI/Controls/Draw/Draw.vue +320 -92
  98. package/src/components/UI/Controls/Legend/Legend.vue +55 -51
  99. package/src/components/UI/Controls/Link/Link.vue +59 -37
  100. package/src/components/UI/Controls/Measure/Measure.vue +75 -33
  101. package/src/components/UI/Controls/Measure/components/MeasureResult.vue +71 -0
  102. package/src/components/UI/Controls/Measure/components/MeasureSetting.vue +63 -0
  103. package/src/components/UI/Controls/Measure/components/MeasureTool.vue +155 -0
  104. package/src/components/UI/Geojson/Popup.vue +101 -0
  105. package/src/components/UI/Marker/Marker.vue +185 -48
  106. package/src/components/UI/Popup/Popup.vue +21 -64
  107. package/src/components/Utils/common/color-util.js +159 -0
  108. package/src/components/Utils/util.js +311 -231
  109. package/src/components/WebGlobe/manager.js +81 -3
  110. package/src/components/WebGlobe/mixins/withPrivateMethods.js +4 -2
  111. package/src/components/WebGlobe/util.js +173 -0
  112. package/src/components/service/comprehensive-query/ComprehensiveQuery.vue +156 -0
  113. package/src/components/service/comprehensive-query/PlaceNameCesium.vue +102 -0
  114. package/src/components/service/comprehensive-query/util/catalog/document.js +626 -0
  115. package/src/components/service/comprehensive-query/util/feature/arcgis-feature-query.js +448 -0
  116. package/src/components/service/comprehensive-query/util/feature/feature-convert.js +408 -0
  117. package/src/components/service/comprehensive-query/util/feature/feature-edit.js +50 -0
  118. package/src/components/service/comprehensive-query/util/feature/feature-geojson.js +100 -0
  119. package/src/components/service/comprehensive-query/util/feature/feature-query.js +723 -0
  120. package/src/components/service/comprehensive-query/util/feature/feature.js +1 -0
  121. package/src/components/service/comprehensive-query/util/feature/index.js +9 -0
  122. package/src/components/service/comprehensive-query/util/objects/geometry.js +58 -0
  123. package/src/components/Overlay/Mapv.vue +0 -142
  124. package/src/components/Overlay/MapvHeater.vue +0 -98
@@ -0,0 +1,549 @@
1
+ > mapgis-3d-particle-effects
2
+
3
+ ## 属性
4
+
5
+ ### `vueKey`
6
+
7
+ - **类型:** `String`
8
+ - **可选**
9
+ - **非侦听属性**
10
+ - **默认值:** `default`
11
+ - **描述:** mapgis-web-scene 组件的 ID,当使用多个 mapgis-web-scene 组件时,需要指定该值,来唯一标识 mapgis-web-scene 组件,同时 mapgis-web-scene 插槽中的组件也需要传入相同的 vueKey,让组件知道应该作用于哪一个 mapgis-web-scene。
12
+
13
+ ### `vueIndex`
14
+
15
+ - **类型:** `Number`
16
+ - **可选**
17
+ - **非侦听属性**
18
+ - **默认值:** `(Math.random() * 100000000).toFixed(0)`随机计算值
19
+ - **描述:** 当 mapgis-web-scene 插槽中使用了多个相同组件时,例如多个 mapgis-3d-igs-doc-layer 组件,用来区分组件的标识符。
20
+
21
+ ### `emissionRate`
22
+
23
+ - **类型:** `Number`
24
+ - **可选**
25
+ - **侦听属性**
26
+ - **描述:** 发射速率(个/秒)
27
+ - **默认值:** 20.0
28
+
29
+ ### `imageSize`
30
+
31
+ - **类型:** `Number`
32
+ - **可选**
33
+ - **侦听属性**
34
+ - **描述:** 尺寸(像素)
35
+ - **默认值:** 5.0
36
+
37
+ ### `minimumParticleLife`
38
+
39
+ - **类型:** `Number`
40
+ - **可选**
41
+ - **侦听属性**
42
+ - **描述:** 粒子最小存在时间(秒)
43
+ - **默认值:** 2.0
44
+
45
+ ### `maximumParticleLife`
46
+
47
+ - **类型:** `Number`
48
+ - **可选**
49
+ - **侦听属性**
50
+ - **描述:** 粒子最大存在时间(秒)
51
+ - **默认值:** 3.0
52
+
53
+ ### `minimumSpeed`
54
+
55
+ - **类型:** `Number`
56
+ - **可选**
57
+ - **侦听属性**
58
+ - **描述:** 最小速度(个/秒)
59
+ - **默认值:** 9.0
60
+
61
+ ### `maximumSpeed`
62
+
63
+ - **类型:** `Number`
64
+ - **可选**
65
+ - **侦听属性**
66
+ - **描述:** 最大速度(个/秒)
67
+ - **默认值:** 9.5
68
+
69
+ ### `startScale`
70
+
71
+ - **类型:** `Number`
72
+ - **可选**
73
+ - **侦听属性**
74
+ - **描述:** 初始比例
75
+ - **默认值:** 1.0
76
+
77
+ ### `endScale`
78
+
79
+ - **类型:** `Number`
80
+ - **可选**
81
+ - **侦听属性**
82
+ - **描述:** 初始比例
83
+ - **默认值:** 4.0
84
+
85
+ ### `emitterType`
86
+
87
+ - **类型:** `String`
88
+ - **可选**
89
+ - **侦听属性**
90
+ - **描述:** 发射类型:可选 '盒状放射', '圆形放射', '锥形放射', '球形放射'
91
+ - **默认值:** '圆形放射'
92
+
93
+ ### `imgUrl`
94
+
95
+ - **类型:** `String`
96
+ - **必选**
97
+ - **非侦听属性**
98
+ - **描述:** 显示效果图片路径。<span style="color:red;fontsize=5px;">必传,系统运行后,访问图片对应的相对路径</span>
99
+ - **默认值:** ''
100
+
101
+ ## 方法
102
+
103
+ ### `onCreateParticle`
104
+
105
+ - **Description:** 添加特效粒子
106
+
107
+ ### `onClearParticle`
108
+
109
+ - **Description:** 移除粒子特效
110
+
111
+ ### `onEmitterChange`
112
+
113
+ - **Description:** 切换发射类型,赋值可选 '盒状放射', '圆形放射', '锥形放射', '球形放射'
114
+ - **parameter** value: 发射类型
115
+
116
+ ### `onChangeEffect`
117
+
118
+ - **Description:** 动态修改参数,及时响应函数
119
+ - **parameter** val: 修改后的值
120
+ - **parameter** key: 修改对应的参数名
121
+
122
+ ## 事件
123
+
124
+ ### `@load`
125
+
126
+ - **Description:** 在 ParticleEffects 加载完毕后发送该事件
127
+ - **Payload** ParticleEffects 对象
128
+
129
+ ### `@unload`
130
+
131
+ - **Description:** 关闭 ParticleEffects 组件前发送该事件
132
+ - **Payload** ParticleEffects 对象
133
+
134
+ ## 示例
135
+
136
+ ### 非插槽方式
137
+
138
+ ```vue
139
+ <template>
140
+ <mapgis-web-scene style="{height: '100vh'}">
141
+ <mapgis-3d-ogc-wmts-layer
142
+ :baseUrl="url"
143
+ :wmtsLayer="layer"
144
+ :tileMatrixSet="tileMatrixSet"
145
+ :format="format"
146
+ :tilingScheme="tilingScheme"
147
+ :token="token"
148
+ ></mapgis-3d-ogc-wmts-layer>
149
+ <mapgis-3d-igs-m3d
150
+ :autoReset="autoReset"
151
+ :maximumScreenSpaceError="maximumScreenSpaceError"
152
+ :url="m3dUrl"
153
+ ></mapgis-3d-igs-m3d>
154
+ <mapgis-ui-card class="storybook-ui-card">
155
+ <mapgis-ui-toolbar>
156
+ <mapgis-ui-toolbar-command-group>
157
+ <mapgis-ui-toolbar-command
158
+ title="火焰"
159
+ icon="mapgis-fire"
160
+ :active="particleMode === 'fire'"
161
+ @click="onCreateParticle('fire')"
162
+ />
163
+ <mapgis-ui-toolbar-command
164
+ title="烟雾"
165
+ icon="mapgis-smoke"
166
+ :active="particleMode === 'smoke'"
167
+ @click="onCreateParticle('smoke')"
168
+ />
169
+ </mapgis-ui-toolbar-command-group>
170
+ <mapgis-ui-toolbar-space />
171
+ <mapgis-ui-toolbar-command-group>
172
+ <mapgis-ui-toolbar-command
173
+ title="清除"
174
+ icon="mapgis-delete"
175
+ @click="onClearParticle"
176
+ />
177
+ </mapgis-ui-toolbar-command-group>
178
+ </mapgis-ui-toolbar>
179
+ <mapgis-3d-particle-effects
180
+ :emissionRate="emissionRate"
181
+ :imageSize="imageSize"
182
+ :minimumParticleLife="minimumParticleLife"
183
+ :maximumParticleLife="maximumParticleLife"
184
+ :minimumSpeed="minimumSpeed"
185
+ :maximumSpeed="maximumSpeed"
186
+ :startScale="startScale"
187
+ :endScale="endScale"
188
+ :emitterType="emitterType"
189
+ :imgUrl="imgUrl"
190
+ @load="load"
191
+ />
192
+ </mapgis-ui-card>
193
+ </mapgis-web-scene>
194
+ </template>
195
+
196
+ <script>
197
+ import fireImg from "../assets/fire.png";
198
+ import smokeImg from "../assets/smoke.png";
199
+ export default {
200
+ data() {
201
+ return {
202
+ url: "http://t0.tianditu.gov.cn/img_c/wmts",
203
+ m3dUrl: "http://develop.smaryun.com:6163/igs/rest/g3d/ZondyModels",
204
+ maximumScreenSpaceError: 8,
205
+ tileMatrixSet: "c",
206
+ tilingScheme: "EPSG:4326",
207
+ layer: "img",
208
+ format: "tiles",
209
+ token: {
210
+ key: "tk",
211
+ value: "2ddaabf906d4b5418aed0078e1657029"
212
+ },
213
+ particleMode: "",
214
+ imgUrl: "",
215
+ particleEffects: null,
216
+ emissionRate: 2.0, // 发射速率
217
+ imageSize: 5.0, // 尺寸
218
+ minimumParticleLife: 2.0, // 粒子最小存在时间
219
+ maximumParticleLife: 3.0, //粒子最大存在时间
220
+ minimumSpeed: 9.0, // 最小速度
221
+ maximumSpeed: 9.5, // 最大速度
222
+ startScale: 1.0, // 初始比例
223
+ endScale: 4.0, // 结束比例
224
+ emitterType: "圆形放射"
225
+ };
226
+ },
227
+ methods: {
228
+ load(particleEffects) {
229
+ this.particleEffects = particleEffects;
230
+ },
231
+ onCreateParticle(type) {
232
+ this.particleMode = type;
233
+ this.imgUrl = type === "fire" ? fireImg : smokeImg;
234
+ this.particleEffects.onCreateParticle();
235
+ },
236
+ onClearParticle() {
237
+ this.particleEffects.onClearParticle();
238
+ }
239
+ }
240
+ };
241
+ </script>
242
+ ```
243
+
244
+ ## 自定义界面-插槽方式
245
+
246
+ ```vue
247
+ <template>
248
+ <mapgis-web-scene style="{height: '100vh'}">
249
+ <mapgis-3d-ogc-wmts-layer
250
+ :baseUrl="url"
251
+ :wmtsLayer="layer"
252
+ :tileMatrixSet="tileMatrixSet"
253
+ :format="format"
254
+ :tilingScheme="tilingScheme"
255
+ :token="token"
256
+ ></mapgis-3d-ogc-wmts-layer>
257
+ <mapgis-3d-igs-m3d
258
+ :autoReset="autoReset"
259
+ :maximumScreenSpaceError="maximumScreenSpaceError"
260
+ :url="m3dUrl"
261
+ ></mapgis-3d-igs-m3d>
262
+ <mapgis-ui-card class="storybook-ui-card">
263
+ <mapgis-ui-toolbar>
264
+ <mapgis-ui-toolbar-command-group>
265
+ <mapgis-ui-toolbar-command
266
+ title="火焰"
267
+ icon="mapgis-fire"
268
+ :active="particleMode === 'fire'"
269
+ @click="onCreateParticle('fire')"
270
+ />
271
+ <mapgis-ui-toolbar-command
272
+ title="烟雾"
273
+ icon="mapgis-smoke"
274
+ :active="particleMode === 'smoke'"
275
+ @click="onCreateParticle('smoke')"
276
+ />
277
+ </mapgis-ui-toolbar-command-group>
278
+ <mapgis-ui-toolbar-space />
279
+ <mapgis-ui-toolbar-command-group>
280
+ <mapgis-ui-toolbar-command
281
+ title="清除"
282
+ icon="mapgis-delete"
283
+ @click="onClearParticle"
284
+ />
285
+ </mapgis-ui-toolbar-command-group>
286
+ </mapgis-ui-toolbar>
287
+ <mapgis-3d-particle-effects
288
+ :emissionRate="emissionRate"
289
+ :imageSize="imageSize"
290
+ :minimumParticleLife="minimumParticleLife"
291
+ :maximumParticleLife="maximumParticleLife"
292
+ :minimumSpeed="minimumSpeed"
293
+ :maximumSpeed="maximumSpeed"
294
+ :startScale="startScale"
295
+ :endScale="endScale"
296
+ :emitterType="emitterType"
297
+ :imgUrl="imgUrl"
298
+ @load="load"
299
+ >
300
+ <!-- 这里是自定义的界面-->
301
+ <div class="mapgis-widget-particle-effects">
302
+ <mapgis-ui-setting-form class="particle-effects-setting">
303
+ <mapgis-ui-form-item label="发射速率(个/秒)">
304
+ <mapgis-ui-row>
305
+ <mapgis-ui-col :span="15">
306
+ <mapgis-ui-slider
307
+ class="slider-body"
308
+ v-model="emissionRate"
309
+ :min="0"
310
+ :max="100"
311
+ @change="val => onChangeEffect(val, 'emissionRate')"
312
+ />
313
+ </mapgis-ui-col>
314
+ <mapgis-ui-col :span="9">
315
+ <mapgis-ui-input-number
316
+ class="slider-number"
317
+ v-model="emissionRate"
318
+ :min="0"
319
+ :max="100"
320
+ />
321
+ </mapgis-ui-col>
322
+ </mapgis-ui-row>
323
+ </mapgis-ui-form-item>
324
+ <mapgis-ui-form-item label="尺寸(像素)">
325
+ <mapgis-ui-row>
326
+ <mapgis-ui-col :span="15">
327
+ <mapgis-ui-slider
328
+ class="slider-body"
329
+ v-model="imageSize"
330
+ :min="2"
331
+ :max="60"
332
+ @change="val => onChangeEffect(val, 'imageSize')"
333
+ />
334
+ </mapgis-ui-col>
335
+ <mapgis-ui-col :span="9">
336
+ <mapgis-ui-input-number
337
+ class="slider-number"
338
+ v-model="imageSize"
339
+ :min="2"
340
+ :max="60"
341
+ />
342
+ </mapgis-ui-col>
343
+ </mapgis-ui-row>
344
+ </mapgis-ui-form-item>
345
+ <mapgis-ui-form-item label="最小存在时间(秒)">
346
+ <mapgis-ui-row>
347
+ <mapgis-ui-col :span="15">
348
+ <mapgis-ui-slider
349
+ class="slider-body"
350
+ v-model="minimumParticleLife"
351
+ :min="0.1"
352
+ :max="30.0"
353
+ :step="0.1"
354
+ @change="val => onChangeEffect(val, 'minimumParticleLife')"
355
+ />
356
+ </mapgis-ui-col>
357
+ <mapgis-ui-col :span="9">
358
+ <mapgis-ui-input-number
359
+ class="slider-number"
360
+ v-model="minimumParticleLife"
361
+ :min="0.1"
362
+ :max="30.0"
363
+ :step="0.1"
364
+ />
365
+ </mapgis-ui-col>
366
+ </mapgis-ui-row>
367
+ </mapgis-ui-form-item>
368
+ <mapgis-ui-form-item label="最大存在时间(秒)">
369
+ <mapgis-ui-row>
370
+ <mapgis-ui-col :span="15">
371
+ <mapgis-ui-slider
372
+ class="slider-body"
373
+ v-model="maximumParticleLife"
374
+ :min="0.1"
375
+ :max="30.0"
376
+ :step="0.1"
377
+ @change="val => onChangeEffect(val, 'maximumParticleLife')"
378
+ />
379
+ </mapgis-ui-col>
380
+ <mapgis-ui-col :span="9">
381
+ <mapgis-ui-input-number
382
+ class="slider-number"
383
+ v-model="maximumParticleLife"
384
+ :min="0.1"
385
+ :max="30.0"
386
+ :step="0.1"
387
+ />
388
+ </mapgis-ui-col>
389
+ </mapgis-ui-row>
390
+ </mapgis-ui-form-item>
391
+ <mapgis-ui-form-item label="最小速度(个/秒)">
392
+ <mapgis-ui-row>
393
+ <mapgis-ui-col :span="15">
394
+ <mapgis-ui-slider
395
+ class="slider-body"
396
+ v-model="minimumSpeed"
397
+ :min="0"
398
+ :max="30"
399
+ @change="val => onChangeEffect(val, 'minimumSpeed')"
400
+ />
401
+ </mapgis-ui-col>
402
+ <mapgis-ui-col :span="9">
403
+ <mapgis-ui-input-number
404
+ class="slider-number"
405
+ v-model="minimumSpeed"
406
+ :min="0"
407
+ :max="30"
408
+ />
409
+ </mapgis-ui-col>
410
+ </mapgis-ui-row>
411
+ </mapgis-ui-form-item>
412
+ <mapgis-ui-form-item label="最大速度(个/秒)">
413
+ <mapgis-ui-row>
414
+ <mapgis-ui-col :span="15">
415
+ <mapgis-ui-slider
416
+ class="slider-body"
417
+ v-model="maximumSpeed"
418
+ :min="0"
419
+ :max="30"
420
+ @change="val => onChangeEffect(val, 'maximumSpeed')"
421
+ />
422
+ </mapgis-ui-col>
423
+ <mapgis-ui-col :span="9">
424
+ <mapgis-ui-input-number
425
+ class="slider-number"
426
+ v-model="maximumSpeed"
427
+ :min="0"
428
+ :max="30"
429
+ />
430
+ </mapgis-ui-col>
431
+ </mapgis-ui-row>
432
+ </mapgis-ui-form-item>
433
+ <mapgis-ui-form-item label="初始比例">
434
+ <mapgis-ui-row>
435
+ <mapgis-ui-col :span="15">
436
+ <mapgis-ui-slider
437
+ class="slider-body"
438
+ v-model="startScale"
439
+ :min="0.0"
440
+ :max="10.0"
441
+ :step="0.5"
442
+ @change="val => onChangeEffect(val, 'startScale')"
443
+ />
444
+ </mapgis-ui-col>
445
+ <mapgis-ui-col :span="9">
446
+ <mapgis-ui-input-number
447
+ class="slider-number"
448
+ v-model="startScale"
449
+ :min="0.0"
450
+ :max="10.0"
451
+ :step="0.5"
452
+ />
453
+ </mapgis-ui-col>
454
+ </mapgis-ui-row>
455
+ </mapgis-ui-form-item>
456
+ <mapgis-ui-form-item label="结束比例">
457
+ <mapgis-ui-row>
458
+ <mapgis-ui-col :span="15">
459
+ <mapgis-ui-slider
460
+ class="slider-body"
461
+ v-model="endScale"
462
+ :min="0.0"
463
+ :max="10.0"
464
+ :step="0.5"
465
+ @change="val => onChangeEffect(val, 'endScale')"
466
+ />
467
+ </mapgis-ui-col>
468
+ <mapgis-ui-col :span="9">
469
+ <mapgis-ui-input-number
470
+ class="slider-number"
471
+ v-model="endScale"
472
+ :min="0.0"
473
+ :max="10.0"
474
+ :step="0.5"
475
+ />
476
+ </mapgis-ui-col>
477
+ </mapgis-ui-row>
478
+ </mapgis-ui-form-item>
479
+ <mapgis-ui-form-item label="发射类型">
480
+ <mapgis-ui-select v-model="emitterType" @change="onEmitterChange">
481
+ <mapgis-ui-select-option
482
+ v-for="item in emitterOptions"
483
+ :key="item"
484
+ >
485
+ {{ item }}
486
+ </mapgis-ui-select-option>
487
+ </mapgis-ui-select>
488
+ </mapgis-ui-form-item>
489
+ </mapgis-ui-setting-form>
490
+ </div>
491
+ </mapgis-3d-particle-effects>
492
+ </mapgis-ui-card>
493
+ </mapgis-web-scene>
494
+ </template>
495
+
496
+ <script>
497
+ import fireImg from "../assets/fire.png";
498
+ import smokeImg from "../assets/smoke.png";
499
+ export default {
500
+ data() {
501
+ return {
502
+ url: "http://t0.tianditu.gov.cn/img_c/wmts",
503
+ m3dUrl: "http://develop.smaryun.com:6163/igs/rest/g3d/ZondyModels",
504
+ maximumScreenSpaceError: 8,
505
+ tileMatrixSet: "c",
506
+ tilingScheme: "EPSG:4326",
507
+ layer: "img",
508
+ format: "tiles",
509
+ token: {
510
+ key: "tk",
511
+ value: "2ddaabf906d4b5418aed0078e1657029"
512
+ },
513
+ particleMode: "",
514
+ imgUrl: "",
515
+ particleEffects: null,
516
+ emissionRate: 2.0, // 发射速率
517
+ imageSize: 5.0, // 尺寸
518
+ minimumParticleLife: 2.0, // 粒子最小存在时间
519
+ maximumParticleLife: 3.0, //粒子最大存在时间
520
+ minimumSpeed: 9.0, // 最小速度
521
+ maximumSpeed: 9.5, // 最大速度
522
+ startScale: 1.0, // 初始比例
523
+ endScale: 4.0, // 结束比例
524
+ emitterType: "圆形放射",
525
+ emitterOptions: ["盒状放射", "圆形放射", "锥形放射", "球形放射"] // 发射类型下拉项
526
+ };
527
+ },
528
+ methods: {
529
+ load(particleEffects) {
530
+ this.particleEffects = particleEffects;
531
+ },
532
+ onCreateParticle(type) {
533
+ this.particleMode = type;
534
+ this.imgUrl = type === "fire" ? fireImg : smokeImg;
535
+ this.particleEffects.onCreateParticle();
536
+ },
537
+ onClearParticle() {
538
+ this.particleEffects.onClearParticle();
539
+ },
540
+ onChangeEffect(val, key) {
541
+ this.particleEffects.onChangeEffect(val, key);
542
+ },
543
+ onEmitterChange(val) {
544
+ this.particleEffects.onEmitterChange(val);
545
+ }
546
+ }
547
+ };
548
+ </script>
549
+ ```