@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,503 @@
1
+ <template>
2
+ <div>
3
+ <slot>
4
+ <div class="mapgis-widget-profile-analysis">
5
+ <mapgis-ui-group-tab title="参数设置"></mapgis-ui-group-tab>
6
+ <mapgis-ui-setting-form :label-width="72">
7
+ <mapgis-ui-form-item label="剖切线颜色">
8
+ <mapgis-ui-sketch-color-picker
9
+ :color.sync="polylineGroundColorCopy"
10
+ :disableAlpha="true"
11
+ ></mapgis-ui-sketch-color-picker>
12
+ </mapgis-ui-form-item>
13
+
14
+ <mapgis-ui-form-item label="采样精度">
15
+ <mapgis-ui-input
16
+ v-model.number="samplePrecisionCopy"
17
+ type="number"
18
+ min="0"
19
+ addon-after="(米)"
20
+ />
21
+ </mapgis-ui-form-item>
22
+ <mapgis-ui-form-item label="交互点颜色" v-show="!showPolygonCopy">
23
+ <mapgis-ui-sketch-color-picker
24
+ :color.sync="pointColorCopy"
25
+ :disableAlpha="true"
26
+ ></mapgis-ui-sketch-color-picker>
27
+ </mapgis-ui-form-item>
28
+ <mapgis-ui-form-item label="显示剖切面">
29
+ <mapgis-ui-switch size="small" v-model="showPolygonCopy" />
30
+ </mapgis-ui-form-item>
31
+ <mapgis-ui-form-item label="剖切面高度" v-show="showPolygonCopy">
32
+ <mapgis-ui-input
33
+ v-model.number="polygonHeightCopy"
34
+ type="number"
35
+ min="0"
36
+ addon-after="(米)"
37
+ />
38
+ </mapgis-ui-form-item>
39
+ <mapgis-ui-form-item label="剖切面颜色" v-show="showPolygonCopy">
40
+ <mapgis-ui-sketch-color-picker
41
+ :color.sync="polygonColorCopy"
42
+ :disableAlpha="true"
43
+ ></mapgis-ui-sketch-color-picker>
44
+ </mapgis-ui-form-item>
45
+ <mapgis-ui-form-item label="交互线颜色" v-show="showPolygonCopy">
46
+ <mapgis-ui-sketch-color-picker
47
+ :color.sync="polyLineColorCopy"
48
+ :disableAlpha="true"
49
+ ></mapgis-ui-sketch-color-picker>
50
+ </mapgis-ui-form-item>
51
+ </mapgis-ui-setting-form>
52
+ <mapgis-ui-setting-footer>
53
+ <mapgis-ui-button type="primary" @click="analysis"
54
+ >分析</mapgis-ui-button
55
+ >
56
+ <mapgis-ui-button @click="remove">清除</mapgis-ui-button>
57
+ </mapgis-ui-setting-footer>
58
+ </div>
59
+ </slot>
60
+ <mapgis-ui-mask
61
+ v-if="useMask"
62
+ :parentDivClass="'cesium-map-wrapper'"
63
+ :loading="maskShow"
64
+ :text="maskText"
65
+ ></mapgis-ui-mask>
66
+ </div>
67
+ </template>
68
+
69
+ <script>
70
+ import VueOptions from "../Base/Vue/VueOptions";
71
+ import {
72
+ colorToCesiumColor,
73
+ isDepthTestAgainstTerrainEnable,
74
+ setDepthTestAgainstTerrainEnable
75
+ } from "../WebGlobe/util";
76
+ import * as echarts from "echarts";
77
+
78
+ export default {
79
+ name: "mapgis-3d-analysis-profile",
80
+ inject: ["Cesium", "CesiumZondy", "webGlobe"],
81
+ props: {
82
+ ...VueOptions,
83
+ /**
84
+ * @type Number
85
+ * @default 1
86
+ * @description 分析类型,0代表地形,1代表地形和模型兼容
87
+ */
88
+ profileType: { type: Number, default: 1 },
89
+ /**
90
+ * @type String
91
+ * @default "rgb(255,0,0)"
92
+ * @description 剖切线颜色
93
+ */
94
+ polylineGroundColor: {
95
+ type: String,
96
+ default: "rgb(255,0,0)"
97
+ },
98
+ /**
99
+ * @type Number
100
+ * @default 2
101
+ * @description 采样精度(采样间隔,平面距离,单位米,模型推荐为0.2,地形推荐为2)
102
+ */
103
+ samplePrecision: {
104
+ type: Number,
105
+ default: 2
106
+ },
107
+ /**
108
+ * @type Boolean
109
+ * @default false
110
+ * @description 是否显示剖面
111
+ */
112
+ showPolygon: {
113
+ type: Boolean,
114
+ default: false
115
+ },
116
+ /**
117
+ * @type String
118
+ * @default "rgb(0,255,0)"
119
+ * @description 交互点颜色(关闭剖面的时候生效)
120
+ */
121
+ pointColor: {
122
+ type: String,
123
+ default: "rgb(0,255,0)"
124
+ },
125
+ /**
126
+ * @type String
127
+ * @default "rgb(0,255,0)"
128
+ * @description 交互线颜色(开启剖面的时候生效)
129
+ */
130
+ polyLineColor: {
131
+ type: String,
132
+ default: "rgb(0,255,0)"
133
+ },
134
+ /**
135
+ * @type String
136
+ * @default "rgb(0,0,255)"
137
+ * @description 剖面颜色
138
+ */
139
+ polygonColor: {
140
+ type: String,
141
+ default: "rgb(0,0,255)"
142
+ },
143
+ /**
144
+ * @type Number
145
+ * @default 100
146
+ * @description 剖面高度
147
+ */
148
+ polygonHeight: {
149
+ type: Number,
150
+ default: 100
151
+ },
152
+ /**
153
+ * @type Object
154
+ * @description 二维剖面显示样式
155
+ */
156
+ echartsOptions: {
157
+ type: Object,
158
+ default: () => {
159
+ const echartsOptions = {
160
+ tooltip: {
161
+ trigger: "axis",
162
+ axisPointer: {
163
+ type: "line",
164
+ lineStyle: {
165
+ color: "#41aeff",
166
+ type: "solid"
167
+ }
168
+ },
169
+ confine: true, // 是否将 tooltip 框限制在图表的区域内。
170
+ backgroundColor: "rgba(255, 255, 255, 0.8)"
171
+ },
172
+ title: {
173
+ show: false
174
+ },
175
+ toolbox: {
176
+ feature: {
177
+ saveAsImage: {
178
+ type: "png",
179
+ show: true,
180
+ title: "保存为图片"
181
+ },
182
+ restore: { show: true, title: "刷新" }
183
+ }
184
+ },
185
+ grid: {
186
+ top: 25,
187
+ left: 60,
188
+ right: 20,
189
+ bottom: 20,
190
+ contentLabel: false
191
+ },
192
+ calculable: true,
193
+ xAxis: [
194
+ {
195
+ show: false,
196
+ type: "value",
197
+ max: "dataMax"
198
+ }
199
+ ],
200
+ yAxis: [
201
+ {
202
+ type: "value",
203
+ splitLine: {
204
+ lineStyle: {
205
+ color: "#d9d9d9",
206
+ type: "dotted"
207
+ }
208
+ },
209
+ axisTick: {
210
+ show: false
211
+ },
212
+ axisLine: {
213
+ show: false
214
+ },
215
+ axisLabel: {
216
+ formatter: value => {
217
+ const texts = [];
218
+ if (value > 999) {
219
+ const text = (Number(value) / 1000).toFixed(2);
220
+ texts.push(`${text}km`);
221
+ } else {
222
+ texts.push(`${parseInt(value)}m`);
223
+ }
224
+ return texts;
225
+ }
226
+ }
227
+ }
228
+ ],
229
+ series: [
230
+ {
231
+ type: "line",
232
+ smooth: true, // 建议地形平滑显示二维剖面,模型取消平滑
233
+ itemStyle: {
234
+ color: "#40a9ff"
235
+ },
236
+ markPoint: {
237
+ symbol: "circle",
238
+ symbolSize: 15,
239
+ label: { position: "top" },
240
+ data: [
241
+ { type: "max", name: "最高点" },
242
+ { type: "min", name: "最低点" }
243
+ ]
244
+ },
245
+ areaStyle: {}
246
+ }
247
+ ]
248
+ };
249
+ return echartsOptions;
250
+ }
251
+ },
252
+ /**
253
+ * @type Boolean
254
+ * @default true
255
+ * @description 是否使用内置的遮罩层
256
+ */
257
+ useMask: {
258
+ type: Boolean,
259
+ default: true
260
+ },
261
+ /**
262
+ * @type String
263
+ * @required true
264
+ * @description 剖面信息显示容器的id
265
+ */
266
+ echartsDivId: {
267
+ type: String,
268
+ required: true
269
+ }
270
+ },
271
+ watch: {
272
+ polylineGroundColor: {
273
+ handler() {
274
+ this.polylineGroundColorCopy = this.polylineGroundColor;
275
+ },
276
+ immediate: true
277
+ },
278
+ samplePrecision: {
279
+ handler() {
280
+ this.samplePrecisionCopy = this.samplePrecision;
281
+ },
282
+ immediate: true
283
+ },
284
+ showPolygon: {
285
+ handler() {
286
+ this.showPolygonCopy = this.showPolygon;
287
+ },
288
+ immediate: true
289
+ },
290
+ pointColor: {
291
+ handler() {
292
+ this.pointColorCopy = this.pointColor;
293
+ },
294
+ immediate: true
295
+ },
296
+ polyLineColor: {
297
+ handler() {
298
+ this.polyLineColorCopy = this.polyLineColor;
299
+ },
300
+ immediate: true
301
+ },
302
+ polygonColor: {
303
+ handler() {
304
+ this.polygonColorCopy = this.polygonColor;
305
+ },
306
+ immediate: true
307
+ },
308
+ polygonHeight: {
309
+ handler() {
310
+ this.polygonHeightCopy = this.polygonHeight;
311
+ },
312
+ immediate: true
313
+ }
314
+ },
315
+ data() {
316
+ return {
317
+ polygonHeightCopy: 100, // 剖面高度
318
+ polygonColorCopy: "rgb(0,0,255)", // 剖面颜色
319
+ polyLineColorCopy: "rgb(0,255,0)", // 交互线颜色(开启剖面的时候生效)
320
+ pointColorCopy: "rgb(0,255,0)", // 交互点颜色(关闭剖面的时候生效)
321
+ polylineGroundColorCopy: "rgb(255,0,0)", // 剖切线颜色
322
+ showPolygonCopy: false, // 是否显示剖面
323
+ samplePrecisionCopy: 2, // 采样精度(采样间隔,平面距离,单位米,模型推荐为0.2,地形推荐为2)
324
+ isDepthTestAgainstTerrainEnable: undefined, // 深度检测是否已开启,默认为undefined,当这个值为undefined的时候,说明没有赋值,不做任何处理
325
+ maskShow: false,
326
+ maskText: "正在分析中, 请稍等...",
327
+ profileeChart: undefined
328
+ };
329
+ },
330
+
331
+ created() {},
332
+ mounted() {
333
+ this.mount();
334
+ },
335
+ destroyed() {
336
+ this.unmount();
337
+ },
338
+ methods: {
339
+ async createCesiumObject() {
340
+ return new Promise(
341
+ resolve => {
342
+ resolve();
343
+ },
344
+ reject => {}
345
+ );
346
+ },
347
+ mount() {
348
+ const { webGlobe, CesiumZondy, vueKey, vueIndex } = this;
349
+ const { viewer } = webGlobe;
350
+ const vm = this;
351
+ let promise = this.createCesiumObject();
352
+ promise.then(function(dataSource) {
353
+ vm.$emit("load", vm);
354
+ CesiumZondy.ProfileAnalysisManager.addSource(
355
+ vueKey,
356
+ vueIndex,
357
+ dataSource,
358
+ {
359
+ profileAnalysis: null
360
+ }
361
+ );
362
+ });
363
+ this.profileeChart = echarts.init(
364
+ document.getElementById(this.echartsDivId)
365
+ );
366
+ },
367
+ unmount() {
368
+ const profileAnalysis = this._getProfileAnalysis();
369
+ if (profileAnalysis) {
370
+ this.remove();
371
+ }
372
+ const { CesiumZondy, vueKey, vueIndex } = this;
373
+ CesiumZondy.ProfileAnalysisManager.deleteSource(vueKey, vueIndex);
374
+ this.$emit("unload", this);
375
+ },
376
+ /**
377
+ * @description 获取剖面分析对象
378
+ * @return 剖面分析对象
379
+ */
380
+ _getProfileAnalysis() {
381
+ const { CesiumZondy, vueKey, vueIndex } = this;
382
+ const find = CesiumZondy.ProfileAnalysisManager.findSource(
383
+ vueKey,
384
+ vueIndex
385
+ );
386
+ const { options } = find;
387
+ const { profileAnalysis } = options;
388
+ return profileAnalysis;
389
+ },
390
+ /**
391
+ * @description rgba值转cesium内部color对象
392
+ * @param rgba - {String} rgba值
393
+ * @return {Object} cesium内部color对象
394
+ */
395
+ _getColor(rgba) {
396
+ return colorToCesiumColor(rgba, this.webGlobe);
397
+ },
398
+ /**
399
+ * @description 开始分析
400
+ */
401
+ analysis() {
402
+ const { viewer } = this.webGlobe;
403
+ this.isDepthTestAgainstTerrainEnable = isDepthTestAgainstTerrainEnable(
404
+ this.webGlobe
405
+ );
406
+ if (!this.isDepthTestAgainstTerrainEnable) {
407
+ // 如果深度检测没有开启,则开启
408
+ setDepthTestAgainstTerrainEnable(true, this.webGlobe);
409
+ }
410
+ const {
411
+ polygonColorCopy,
412
+ polygonHeightCopy,
413
+ polyLineColorCopy,
414
+ pointColorCopy,
415
+ polylineGroundColorCopy,
416
+ showPolygonCopy,
417
+ samplePrecisionCopy,
418
+ echartsOptions
419
+ } = this;
420
+ const pColor = this._getColor(polygonColorCopy);
421
+ const ptColor = this._getColor(pointColorCopy);
422
+ const lColor = this._getColor(polyLineColorCopy);
423
+ const pgColor = this._getColor(polylineGroundColorCopy);
424
+ const { profileType } = this;
425
+ let profileAnalysis = null;
426
+ if (!this.Cesium.defined(profileAnalysis)) {
427
+ profileAnalysis = new this.Cesium.TerrainProfile(viewer, echarts, {
428
+ echartsOptions: echartsOptions,
429
+ polygonColor: pColor,
430
+ polygonHeight: polygonHeightCopy,
431
+ polyLineColor: lColor,
432
+ pointColor: ptColor,
433
+ showPolygon: showPolygonCopy,
434
+ polylineGroundColor: pgColor,
435
+ samplePrecision: samplePrecisionCopy,
436
+ profileType, // 0表示只采地形,分析中界面不会卡顿;1表示支持模型和地形,分析中界面会卡顿
437
+ echart: this.profileeChart
438
+ });
439
+ }
440
+ profileAnalysis.profile(this._profileStart, this._profileSuccess);
441
+ const { CesiumZondy, vueKey, vueIndex } = this;
442
+ CesiumZondy.ProfileAnalysisManager.changeOptions(
443
+ vueKey,
444
+ vueIndex,
445
+ "profileAnalysis",
446
+ profileAnalysis
447
+ );
448
+ },
449
+ /**
450
+ * @description 绘制结束后回调函数,表示cesium内部开始启用分析功能
451
+ */
452
+ _profileStart() {
453
+ this.maskShow = true;
454
+ this.$emit("start");
455
+ },
456
+ /**
457
+ * @description 分析结束回调函数
458
+ */
459
+ _profileSuccess() {
460
+ this.maskShow = false;
461
+ this.$emit("success");
462
+ },
463
+ /**
464
+ * @description 恢复深度检测设置
465
+ */
466
+ _restoreDepthTestAgainstTerrain() {
467
+ if (
468
+ this.isDepthTestAgainstTerrainEnable !== undefined &&
469
+ this.isDepthTestAgainstTerrainEnable !==
470
+ isDepthTestAgainstTerrainEnable(this.webGlobe)
471
+ ) {
472
+ setDepthTestAgainstTerrainEnable(
473
+ this.isDepthTestAgainstTerrainEnable,
474
+ this.webGlobe
475
+ );
476
+ }
477
+ },
478
+ /**
479
+ * @description 移除剖面分析结果,关闭二维剖面显示,恢复深度检测设置
480
+ */
481
+ remove() {
482
+ const profileAnalysis = this._getProfileAnalysis();
483
+ const { CesiumZondy, vueKey, vueIndex } = this;
484
+
485
+ // 判断是否已有剖面分析结果
486
+ if (profileAnalysis) {
487
+ // 移除剖面分析显示结果
488
+ profileAnalysis.destroy();
489
+ CesiumZondy.ProfileAnalysisManager.changeOptions(
490
+ vueKey,
491
+ vueIndex,
492
+ "profileAnalysis",
493
+ null
494
+ );
495
+ }
496
+
497
+ this._restoreDepthTestAgainstTerrain();
498
+ this.maskShow = false;
499
+ this.$emit("remove");
500
+ }
501
+ }
502
+ };
503
+ </script>