@vtx/cs-map 1.0.93 → 1.0.95

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 (272) hide show
  1. package/README.md +202 -202
  2. package/lib/_util/EventEmitter.js.map +1 -1
  3. package/lib/_util/Provider.js.map +1 -1
  4. package/lib/_util/StyleCache.js.map +1 -1
  5. package/lib/_util/cesium.js +10 -10
  6. package/lib/_util/cesium.js.map +1 -1
  7. package/lib/_util/encryptParams.js.map +1 -1
  8. package/lib/_util/filterSpecialCharacters.js +6 -6
  9. package/lib/_util/filterSpecialCharacters.js.map +1 -1
  10. package/lib/_util/generateRandomPosition.js +5 -5
  11. package/lib/_util/generateRandomPosition.js.map +1 -1
  12. package/lib/_util/getBBoxFromGeojson.js +11 -11
  13. package/lib/_util/getBBoxFromGeojson.js.map +1 -1
  14. package/lib/_util/getComponentProps.js.map +1 -1
  15. package/lib/_util/getCookie.js +4 -4
  16. package/lib/_util/getCookie.js.map +1 -1
  17. package/lib/_util/getDefaultMapInfo.js.map +1 -1
  18. package/lib/_util/getSystemInfo.js.map +1 -1
  19. package/lib/_util/getToken.js.map +1 -1
  20. package/lib/_util/getUrlParam.js.map +1 -1
  21. package/lib/_util/heightAndZoom.js.map +1 -1
  22. package/lib/_util/http.js +18 -18
  23. package/lib/_util/http.js.map +1 -1
  24. package/lib/_util/isFunction.js.map +1 -1
  25. package/lib/_util/isObject.js.map +1 -1
  26. package/lib/_util/layer.js.map +1 -1
  27. package/lib/_util/mapTool.js +34 -34
  28. package/lib/_util/mapTool.js.map +1 -1
  29. package/lib/_util/parabola.js +64 -0
  30. package/lib/_util/parabola.js.map +1 -0
  31. package/lib/_util/setCookie.js +4 -4
  32. package/lib/_util/setCookie.js.map +1 -1
  33. package/lib/_util/transformRgb.js +1 -2
  34. package/lib/_util/transformRgb.js.map +1 -1
  35. package/lib/_util/useColSize.js.map +1 -1
  36. package/lib/_util/useInterval.js.map +1 -1
  37. package/lib/_util/useProps.js.map +1 -1
  38. package/lib/_util/useSet.js.map +1 -1
  39. package/lib/assets/img_1.png +0 -0
  40. package/lib/building-tiles-layer/BuildingTilesLayer.js.map +1 -1
  41. package/lib/building-tiles-layer/index.js.map +1 -1
  42. package/lib/building-tiles-layer/style/css.js.map +1 -1
  43. package/lib/building-tiles-layer/style/index.js.map +1 -1
  44. package/lib/cesium-tiles-layer/CesiumTilesLayer.js.map +1 -1
  45. package/lib/cesium-tiles-layer/demo/index.less +101 -101
  46. package/lib/cesium-tiles-layer/index.js.map +1 -1
  47. package/lib/cesium-tiles-layer/style/css.js.map +1 -1
  48. package/lib/cesium-tiles-layer/style/index.js.map +1 -1
  49. package/lib/circle/Circle.js.map +1 -1
  50. package/lib/circle/index.js +12 -3
  51. package/lib/circle/index.js.map +1 -1
  52. package/lib/circle-fly/index.js.map +1 -1
  53. package/lib/circle-fly/style/css.js.map +1 -1
  54. package/lib/circle-fly/style/index.js.map +1 -1
  55. package/lib/config.js.map +1 -1
  56. package/lib/demand-layer/index.js.map +1 -1
  57. package/lib/demand-layer/style/css.js.map +1 -1
  58. package/lib/demand-layer/style/index.js.map +1 -1
  59. package/lib/dom/Dom.js.map +1 -1
  60. package/lib/dom/index.js.map +1 -1
  61. package/lib/events/index.js.map +1 -1
  62. package/lib/excavation-analysis/Cut.js +19 -19
  63. package/lib/excavation-analysis/Cut.js.map +1 -1
  64. package/lib/excavation-analysis/TilesetCut.js +5 -5
  65. package/lib/excavation-analysis/TilesetCut.js.map +1 -1
  66. package/lib/excavation-analysis/hooks/useDrawHandler.js.map +1 -1
  67. package/lib/excavation-analysis/hooks/useTerrainClipPlan.js.map +1 -1
  68. package/lib/excavation-analysis/hooks/useTileSetCut.js.map +1 -1
  69. package/lib/excavation-analysis/index.js.map +1 -1
  70. package/lib/excavation-analysis/style/css.js.map +1 -1
  71. package/lib/excavation-analysis/style/index.js.map +1 -1
  72. package/lib/feature-layer/FeatureLayer.js.map +1 -1
  73. package/lib/feature-layer/createFeatureCollection.js +11 -11
  74. package/lib/feature-layer/createFeatureCollection.js.map +1 -1
  75. package/lib/feature-layer/index.js.map +1 -1
  76. package/lib/feature-layer/style/css.js.map +1 -1
  77. package/lib/feature-layer/style/index.js.map +1 -1
  78. package/lib/fence-layer/FenceLayer.js.map +1 -1
  79. package/lib/fence-layer/GradualLightRingMaterialProperty.js +5 -5
  80. package/lib/fence-layer/GradualLightRingMaterialProperty.js.map +1 -1
  81. package/lib/fence-layer/index.js.map +1 -1
  82. package/lib/fence-layer/style/css.js.map +1 -1
  83. package/lib/fence-layer/style/index.js.map +1 -1
  84. package/lib/flight-line-layer/FlightLineLayer.js +192 -0
  85. package/lib/flight-line-layer/FlightLineLayer.js.map +1 -0
  86. package/lib/flight-line-layer/index.js +85 -0
  87. package/lib/flight-line-layer/index.js.map +1 -0
  88. package/lib/flight-line-layer/style/css.js +4 -0
  89. package/lib/flight-line-layer/style/css.js.map +1 -0
  90. package/lib/flight-line-layer/style/index.css +0 -0
  91. package/lib/flight-line-layer/style/index.js +4 -0
  92. package/lib/flight-line-layer/style/index.js.map +1 -0
  93. package/lib/flight-line-layer/style/index.less +0 -0
  94. package/lib/fly-line-layer/FlyLineLayer.js +2 -64
  95. package/lib/fly-line-layer/FlyLineLayer.js.map +1 -1
  96. package/lib/fly-line-layer/LineFlowMaterialProperty.js.map +1 -1
  97. package/lib/fly-line-layer/index.js.map +1 -1
  98. package/lib/fly-line-layer/style/css.js.map +1 -1
  99. package/lib/fly-line-layer/style/index.js.map +1 -1
  100. package/lib/gif-dom-layer/GifDomLayer.js.map +1 -1
  101. package/lib/gif-dom-layer/index.js.map +1 -1
  102. package/lib/gif-dom-layer/style/css.js.map +1 -1
  103. package/lib/gif-dom-layer/style/index.js.map +1 -1
  104. package/lib/gradation-line-layer/GradationLineLayer.js.map +1 -1
  105. package/lib/gradation-line-layer/index.js.map +1 -1
  106. package/lib/gradation-line-layer/style/css.js.map +1 -1
  107. package/lib/gradation-line-layer/style/index.js.map +1 -1
  108. package/lib/group-layer/index.js.map +1 -1
  109. package/lib/group-layer/style/css.js.map +1 -1
  110. package/lib/group-layer/style/index.js.map +1 -1
  111. package/lib/heatmap-layer/CesiumHeatmap.js +20 -20
  112. package/lib/heatmap-layer/CesiumHeatmap.js.map +1 -1
  113. package/lib/heatmap-layer/HeatmapLayer.js.map +1 -1
  114. package/lib/heatmap-layer/heatmap.js +41 -41
  115. package/lib/heatmap-layer/heatmap.js.map +1 -1
  116. package/lib/heatmap-layer/index.js.map +1 -1
  117. package/lib/heatmap-layer/style/css.js.map +1 -1
  118. package/lib/heatmap-layer/style/index.js.map +1 -1
  119. package/lib/highlight-layer/HighlightLayer.js +6 -6
  120. package/lib/highlight-layer/HighlightLayer.js.map +1 -1
  121. package/lib/highlight-layer/index.js.map +1 -1
  122. package/lib/highlight-layer/style/css.js.map +1 -1
  123. package/lib/highlight-layer/style/index.js.map +1 -1
  124. package/lib/image-layer/ImageLayer.js.map +1 -1
  125. package/lib/image-layer/index.js +4 -2
  126. package/lib/image-layer/index.js.map +1 -1
  127. package/lib/image-layer/style/css.js.map +1 -1
  128. package/lib/image-layer/style/index.js.map +1 -1
  129. package/lib/image-wms-layer/ImageWmsLayer.js.map +1 -1
  130. package/lib/image-wms-layer/index.js.map +1 -1
  131. package/lib/image-wms-layer/style/css.js.map +1 -1
  132. package/lib/image-wms-layer/style/index.js.map +1 -1
  133. package/lib/index.js +14 -0
  134. package/lib/index.js.map +1 -1
  135. package/lib/inundate-analysis/index.js.map +1 -1
  136. package/lib/inundate-analysis/style/css.js.map +1 -1
  137. package/lib/inundate-analysis/style/index.js.map +1 -1
  138. package/lib/label/Label.js.map +1 -1
  139. package/lib/label/index.js.map +1 -1
  140. package/lib/legend/index.js.map +1 -1
  141. package/lib/legend/style/css.js.map +1 -1
  142. package/lib/legend/style/index.js.map +1 -1
  143. package/lib/legend/style/index.less +74 -74
  144. package/lib/line-flow-layer/LineFlowLayer.js.map +1 -1
  145. package/lib/line-flow-layer/style/css.js.map +1 -1
  146. package/lib/line-flow-layer/style/index.js.map +1 -1
  147. package/lib/map/InfoTool/index.js +43 -43
  148. package/lib/map/InfoTool/index.js.map +1 -1
  149. package/lib/map/InfoTool/index.less +46 -46
  150. package/lib/map/InfoTool/util.js +23 -23
  151. package/lib/map/InfoTool/util.js.map +1 -1
  152. package/lib/map/InfoWindow.js.map +1 -1
  153. package/lib/map/Layers.js.map +1 -1
  154. package/lib/map/Popup.js.map +1 -1
  155. package/lib/map/base/imagery/amap/AmapImageryProvider.js.map +1 -1
  156. package/lib/map/base/imagery/amap/AmapMercatorTilingScheme.js.map +1 -1
  157. package/lib/map/base/imagery/baidu/BaiduImageryProvider.js.map +1 -1
  158. package/lib/map/base/imagery/baidu/BaiduMercatorProjection.js +77 -77
  159. package/lib/map/base/imagery/baidu/BaiduMercatorProjection.js.map +1 -1
  160. package/lib/map/base/imagery/baidu/BaiduMercatorTilingScheme.js +13 -13
  161. package/lib/map/base/imagery/baidu/BaiduMercatorTilingScheme.js.map +1 -1
  162. package/lib/map/base/imagery/geoq/GeoQImageryProvider.js.map +1 -1
  163. package/lib/map/base/imagery/google/GoogleImageryProvider.js.map +1 -1
  164. package/lib/map/base/imagery/irs/IRSImageryProvider.js.map +1 -1
  165. package/lib/map/base/imagery/tdt/JiangSuTdtImageryProvider.js.map +1 -1
  166. package/lib/map/base/imagery/tdt/TdtImageryProvider.js.map +1 -1
  167. package/lib/map/base/imagery/tencent/TencentImageryProvider.js.map +1 -1
  168. package/lib/map/base/imagery/transform/AmapMercatorTilingScheme.js.map +1 -1
  169. package/lib/map/base/imagery/transform/CoordTransform.js +42 -42
  170. package/lib/map/base/imagery/transform/CoordTransform.js.map +1 -1
  171. package/lib/map/base/index.js.map +1 -1
  172. package/lib/map/index.js.map +1 -1
  173. package/lib/map/material/AroundPoint.js.map +1 -1
  174. package/lib/map/material/CircleRippleMaterialProperty.js +6 -6
  175. package/lib/map/material/CircleRippleMaterialProperty.js.map +1 -1
  176. package/lib/map/material/ODLineLayer.js.map +1 -1
  177. package/lib/map/material/PolylineTrailLinkMaterialProperty.js.map +1 -1
  178. package/lib/map/material/PolylineTrailMaterialProperty.js.map +1 -1
  179. package/lib/map/material/TilesBuilding.js.map +1 -1
  180. package/lib/map/material/index.js.map +1 -1
  181. package/lib/map/style/css.js.map +1 -1
  182. package/lib/map/style/index.js.map +1 -1
  183. package/lib/map/style/index.less +248 -248
  184. package/lib/marker/Marker.js.map +1 -1
  185. package/lib/marker/index.js.map +1 -1
  186. package/lib/model/Model.js +16 -5
  187. package/lib/model/Model.js.map +1 -1
  188. package/lib/model/index.js +10 -2
  189. package/lib/model/index.js.map +1 -1
  190. package/lib/navigation/index.js.map +1 -1
  191. package/lib/navigation/style/css.js.map +1 -1
  192. package/lib/navigation/style/index.js.map +1 -1
  193. package/lib/navigation/style/index.less +176 -176
  194. package/lib/pipe-tiles-layer/PipeTilesLayer.js.map +1 -1
  195. package/lib/pipe-tiles-layer/index.js.map +1 -1
  196. package/lib/pipe-tiles-layer/style/css.js.map +1 -1
  197. package/lib/pipe-tiles-layer/style/index.js.map +1 -1
  198. package/lib/point/Point.js.map +1 -1
  199. package/lib/point/index.js.map +1 -1
  200. package/lib/polygon/Polygon.js.map +1 -1
  201. package/lib/polygon/index.js.map +1 -1
  202. package/lib/polyline/Polyline.js.map +1 -1
  203. package/lib/polyline/index.js.map +1 -1
  204. package/lib/renderer/index.js +15 -15
  205. package/lib/renderer/index.js.map +1 -1
  206. package/lib/renderer/style/css.js.map +1 -1
  207. package/lib/renderer/style/index.js.map +1 -1
  208. package/lib/scene-roam/index.js.map +1 -1
  209. package/lib/scene-roam/style/css.js.map +1 -1
  210. package/lib/scene-roam/style/index.js.map +1 -1
  211. package/lib/slider-scene/index.js.map +1 -1
  212. package/lib/slider-scene/style/css.js.map +1 -1
  213. package/lib/slider-scene/style/index.js.map +1 -1
  214. package/lib/slider-scene/style/index.less +13 -13
  215. package/lib/split-screen/index.js.map +1 -1
  216. package/lib/style/index.less +2 -2
  217. package/lib/style/themes/compact.less +1 -1
  218. package/lib/style/themes/dark.less +9 -9
  219. package/lib/style/themes/default.less +7 -7
  220. package/lib/style/themes/index.less +1 -1
  221. package/lib/style/themes/variable.less +5 -5
  222. package/lib/three-line-layer/ThreeLineLayer.js +192 -0
  223. package/lib/three-line-layer/ThreeLineLayer.js.map +1 -0
  224. package/lib/three-line-layer/index.js +85 -0
  225. package/lib/three-line-layer/index.js.map +1 -0
  226. package/lib/three-line-layer/style/css.js +4 -0
  227. package/lib/three-line-layer/style/css.js.map +1 -0
  228. package/lib/three-line-layer/style/index.css +0 -0
  229. package/lib/three-line-layer/style/index.js +4 -0
  230. package/lib/three-line-layer/style/index.js.map +1 -0
  231. package/lib/three-line-layer/style/index.less +0 -0
  232. package/lib/tools/base-map-switch/index.js.map +1 -1
  233. package/lib/tools/components/Icon/svg.js.map +1 -1
  234. package/lib/tools/index.js.map +1 -1
  235. package/lib/tools/layer-control-popover/LayersCheckService.js.map +1 -1
  236. package/lib/tools/loading/index.js.map +1 -1
  237. package/lib/tools/map-search/Select/index.js +5 -5
  238. package/lib/tools/map-search/Select/index.js.map +1 -1
  239. package/lib/tools/map-search/Select/style/css.js.map +1 -1
  240. package/lib/tools/map-search/Select/style/index.js.map +1 -1
  241. package/lib/tools/map-search/Select/style/index.less +47 -47
  242. package/lib/tools/map-search/index.js +3 -3
  243. package/lib/tools/map-search/index.js.map +1 -1
  244. package/lib/tools/style/index.css +4 -1
  245. package/lib/tools/style/index.less +4 -2
  246. package/lib/tools/tip/index.js.map +1 -1
  247. package/lib/tools/tool-box/Measure/Area/index.js.map +1 -1
  248. package/lib/tools/tool-box/Measure/Distance/index.js.map +1 -1
  249. package/lib/tools/tool-box/Measure/Measure.js +235 -130
  250. package/lib/tools/tool-box/Measure/Measure.js.map +1 -1
  251. package/lib/tools/tool-box/Measure/index.js +10 -8
  252. package/lib/tools/tool-box/Measure/index.js.map +1 -1
  253. package/lib/tools/tool-box/index.js +4 -1
  254. package/lib/tools/tool-box/index.js.map +1 -1
  255. package/lib/trail-polyline-layer/TrailPolylineLayer.js.map +1 -1
  256. package/lib/trail-polyline-layer/TrailPolylineMaterial.js.map +1 -1
  257. package/lib/trail-polyline-layer/style/css.js.map +1 -1
  258. package/lib/trail-polyline-layer/style/index.js.map +1 -1
  259. package/lib/wall/WallGeometry.js.map +1 -1
  260. package/lib/wall/style/css.js.map +1 -1
  261. package/lib/wall/style/index.js.map +1 -1
  262. package/lib/water-surface-layer/WaterSurfaceLayer.js.map +1 -1
  263. package/lib/water-surface-layer/index.js.map +1 -1
  264. package/lib/water-surface-layer/style/css.js.map +1 -1
  265. package/lib/water-surface-layer/style/index.js.map +1 -1
  266. package/lib/weather/Weather.js +28 -28
  267. package/lib/weather/Weather.js.map +1 -1
  268. package/lib/weather/index.js.map +1 -1
  269. package/lib/weather/style/css.js.map +1 -1
  270. package/lib/weather/style/index.js.map +1 -1
  271. package/package.json +2 -2
  272. package/CHANGELOG.md +0 -124
@@ -6,6 +6,12 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.Measure = void 0;
7
7
  var _cesium = require("cesium");
8
8
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
9
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
10
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
11
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
12
+ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
13
+ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
14
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
9
15
  function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
10
16
  function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
11
17
  function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
@@ -20,6 +26,11 @@ var Measure = exports.Measure = /*#__PURE__*/function () {
20
26
  this.viewer = viewer;
21
27
  this.entityCollection = [];
22
28
  this.viewer.scene.globe.depthTestAgainstTerrain = true;
29
+ this.startDraw = false;
30
+ this.startTipEntity = null;
31
+ this.labelEntityCollection = [];
32
+ this.totalEntityCollection = [];
33
+ this.clearLast = true;
23
34
  }
24
35
 
25
36
  // var this.entityCollection = [];
@@ -28,6 +39,23 @@ var Measure = exports.Measure = /*#__PURE__*/function () {
28
39
  value: function getCollection() {
29
40
  return this.entityCollection;
30
41
  }
42
+ }, {
43
+ key: "clear",
44
+ value: function clear() {
45
+ var _this = this;
46
+ this.entityCollection.forEach(function (entity) {
47
+ _this.viewer.entities.remove(entity);
48
+ });
49
+ this.labelEntityCollection.forEach(function (entity) {
50
+ _this.viewer.entities.remove(entity);
51
+ });
52
+ this.totalEntityCollection.forEach(function (entity) {
53
+ _this.viewer.entities.remove(entity);
54
+ });
55
+ this.entityCollection = [];
56
+ this.labelEntityCollection = [];
57
+ this.totalEntityCollection = [];
58
+ }
31
59
 
32
60
  /**
33
61
  * 清除
@@ -35,18 +63,45 @@ var Measure = exports.Measure = /*#__PURE__*/function () {
35
63
  }, {
36
64
  key: "destroy",
37
65
  value: function destroy(callback) {
38
- for (var i = 0; i < this.entityCollection.length; i++) {
39
- this.viewer.entities.remove(this.entityCollection[i]);
66
+ if (this.startTipEntity) {
67
+ this.viewer.entities.remove(this.startTipEntity);
40
68
  }
69
+ this.entityCollection;
41
70
  this.viewer.screenSpaceEventHandler.removeInputAction(_cesium.ScreenSpaceEventType.LEFT_CLICK);
42
71
  this.viewer.screenSpaceEventHandler.removeInputAction(_cesium.ScreenSpaceEventType.MOUSE_MOVE);
43
72
  this.viewer.screenSpaceEventHandler.removeInputAction(_cesium.ScreenSpaceEventType.RIGHT_CLICK);
44
- this.entityCollection = [];
73
+ this.viewer.screenSpaceEventHandler.removeInputAction(_cesium.ScreenSpaceEventType.LEFT_DOUBLE_CLICK);
45
74
  this.viewer.cancelBubble = false;
75
+ this.startDraw = false;
76
+ this.clear();
46
77
  if (callback) {
47
78
  callback();
48
79
  }
49
80
  }
81
+ }, {
82
+ key: "visibleLabelEntity",
83
+ value: function visibleLabelEntity(visible) {
84
+ this.labelEntityCollection.forEach(function (entity) {
85
+ entity.show = visible;
86
+ });
87
+ }
88
+ }, {
89
+ key: "removeStartTip",
90
+ value: function removeStartTip() {
91
+ if (this.startTipEntity) {
92
+ this.viewer.entities.remove(this.startTipEntity);
93
+ }
94
+ }
95
+ }, {
96
+ key: "startDrawTip",
97
+ value: function startDrawTip(movePosition) {
98
+ if (!this.startDraw) {
99
+ this.removeStartTip();
100
+ // 计算距离
101
+ var lengthText = '鼠标单击开始绘制';
102
+ this.startTipEntity = this.addLabel(movePosition, lengthText);
103
+ }
104
+ }
50
105
 
51
106
  /**
52
107
  * 测距
@@ -54,71 +109,100 @@ var Measure = exports.Measure = /*#__PURE__*/function () {
54
109
  }, {
55
110
  key: "measurePolyLine",
56
111
  value: function measurePolyLine(callback) {
57
- var _this = this;
112
+ var _this2 = this;
58
113
  var positions = [];
59
114
  var labelEntity = null; // 标签实体
115
+ var totalLabelEntity = null;
116
+ var positionsList = [];
60
117
  this.viewer.cancelBubble = true;
118
+ this.startDrawTip();
119
+ this.viewer.screenSpaceEventHandler.setInputAction(function (moveEvent) {
120
+ var movePosition = _this2.viewer.scene.pickPosition(moveEvent.endPosition); // 鼠标移动的点
121
+ // var movePosition = this.viewer.scene.globe.pick(this.viewer.camera.getPickRay(moveEvent.endPosition), this.viewer.scene);
122
+
123
+ if (!movePosition) {
124
+ return false;
125
+ }
126
+ _this2.startDrawTip(movePosition);
127
+ if (_this2.startDraw) {
128
+ if (positions.length == 2) {
129
+ positions.pop();
130
+ positions.push(movePosition);
131
+ // 绘制label
132
+ if (labelEntity) {
133
+ _this2.viewer.entities.remove(labelEntity);
134
+ _this2.labelEntityCollection.splice(_this2.labelEntityCollection.indexOf(labelEntity), 1);
135
+ }
136
+ if (totalLabelEntity) {
137
+ _this2.viewer.entities.remove(totalLabelEntity);
138
+ _this2.totalEntityCollection.splice(_this2.totalEntityCollection.indexOf(totalLabelEntity), 1);
139
+ }
140
+ // 计算中点
141
+ var centerPoint = _cesium.Cartesian3.midpoint(positions[0], positions[1], new _cesium.Cartesian3());
142
+ var currentLength = _this2.getLengthText(positions[0], positions[1]);
143
+ var totalLength = Number(currentLength);
144
+ positionsList.forEach(function (positions) {
145
+ totalLength += Number(_this2.getLengthText(positions[0], positions[1]));
146
+ });
147
+ // 计算距离
148
+ var lengthText = '距离:' + currentLength + 'km';
149
+ labelEntity = _this2.addLabel(centerPoint, lengthText);
150
+ totalLabelEntity = _this2.addLabel(movePosition, '总距离:' + totalLength.toFixed(2) + 'km');
151
+ _this2.labelEntityCollection.push(labelEntity);
152
+ _this2.totalEntityCollection.push(totalLabelEntity);
153
+ } else {
154
+ positions.push(movePosition);
155
+
156
+ // 绘制线
157
+ _this2.addLine(positions);
158
+ }
159
+ }
160
+ }, _cesium.ScreenSpaceEventType.MOUSE_MOVE);
61
161
  // 注册鼠标左击事件
62
162
  this.viewer.screenSpaceEventHandler.setInputAction(function (clickEvent) {
63
- var cartesian = _this.viewer.scene.pickPosition(clickEvent.position); // 坐标
163
+ var cartesian = _this2.viewer.scene.pickPosition(clickEvent.position); // 坐标
64
164
  // var cartesian = this.viewer.scene.globe.pick(this.viewer.camera.getPickRay(clickEvent.position), this.viewer.scene);
65
165
  // 存储第一个点
66
166
  if (!cartesian) {
67
167
  return false;
68
168
  }
169
+ if (!_this2.startDraw) {
170
+ if (_this2.clearLast) {
171
+ _this2.clear();
172
+ }
173
+ _this2.startDraw = true;
174
+ }
175
+ _this2.removeStartTip();
69
176
  if (positions.length == 0) {
70
177
  positions.push(cartesian.clone());
71
- _this.addPoint(cartesian);
72
-
178
+ _this2.addPoint(cartesian);
73
179
  // 注册鼠标移动事件
74
- _this.viewer.screenSpaceEventHandler.setInputAction(function (moveEvent) {
75
- var movePosition = _this.viewer.scene.pickPosition(moveEvent.endPosition); // 鼠标移动的点
76
- // var movePosition = this.viewer.scene.globe.pick(this.viewer.camera.getPickRay(moveEvent.endPosition), this.viewer.scene);
77
-
78
- if (!movePosition) {
79
- return false;
80
- }
81
- if (positions.length == 2) {
82
- positions.pop();
83
- positions.push(movePosition);
84
-
85
- // 绘制label
86
- if (labelEntity) {
87
- _this.viewer.entities.remove(labelEntity);
88
- _this.entityCollection.splice(_this.entityCollection.indexOf(labelEntity), 1);
89
- }
90
-
91
- // 计算中点
92
- var centerPoint = _cesium.Cartesian3.midpoint(positions[0], positions[1], new _cesium.Cartesian3());
93
- // 计算距离
94
- var lengthText = '距离:' + _this.getLengthText(positions[0], positions[1]);
95
- labelEntity = _this.addLabel(centerPoint, lengthText);
96
- _this.entityCollection.push(labelEntity);
97
- } else {
98
- positions.push(movePosition);
99
-
100
- // 绘制线
101
- _this.addLine(positions);
102
- }
103
- }, _cesium.ScreenSpaceEventType.MOUSE_MOVE);
104
180
  } else {
105
181
  // 存储第二个点
106
182
  positions.pop();
107
183
  positions.push(cartesian);
108
- _this.addPoint(cartesian);
109
- _this.addLine(positions);
110
- _this.viewer.screenSpaceEventHandler.removeInputAction(_cesium.ScreenSpaceEventType.LEFT_CLICK);
111
- _this.viewer.screenSpaceEventHandler.removeInputAction(_cesium.ScreenSpaceEventType.MOUSE_MOVE);
112
- _this.viewer.cancelBubble = false;
184
+ _this2.addPoint(cartesian);
185
+ _this2.addLine(_toConsumableArray(positions));
186
+ positionsList.push(_toConsumableArray(positions));
187
+ positions = [cartesian];
188
+ _this2.viewer.cancelBubble = false;
189
+ labelEntity = null;
190
+ totalLabelEntity = null;
113
191
  if (callback) {
114
192
  callback();
115
193
  }
116
194
  }
117
195
  }, _cesium.ScreenSpaceEventType.LEFT_CLICK);
118
- // this.viewer.screenSpaceEventHandler.setInputAction((clickEvent) => {
119
-
120
- // this.viewer.screenSpaceEventHandler.removeInputAction(ScreenSpaceEventType.RIGHT_CLICK);
121
- // }, ScreenSpaceEventType.RIGHT_CLICK);
196
+ this.viewer.screenSpaceEventHandler.setInputAction(function () {
197
+ _this2.startDraw = false;
198
+ positions = [];
199
+ positionsList = [];
200
+ labelEntity = null;
201
+ totalLabelEntity = null;
202
+ if (callback) {
203
+ callback();
204
+ }
205
+ }, _cesium.ScreenSpaceEventType.LEFT_DOUBLE_CLICK);
122
206
  }
123
207
 
124
208
  /**
@@ -127,16 +211,78 @@ var Measure = exports.Measure = /*#__PURE__*/function () {
127
211
  }, {
128
212
  key: "measurePolygon",
129
213
  value: function measurePolygon(callback) {
130
- var _this2 = this;
214
+ var _this3 = this;
131
215
  var positions = [];
132
216
  var clickStatus = false;
133
- var labelEntity = null;
217
+ var labelEntityCollection = [];
218
+ var totalLabelEntity = null;
134
219
  this.viewer.scene.globe.depthTestAgainstTerrain = false;
135
220
  this.viewer.cancelBubble = true;
221
+ this.viewer.screenSpaceEventHandler.setInputAction(function (moveEvent) {
222
+ // var movePosition = this.viewer.scene.pickPosition(moveEvent.endPosition);
223
+ var movePosition = _this3.viewer.scene.globe.pick(_this3.viewer.camera.getPickRay(moveEvent.endPosition), _this3.viewer.scene);
224
+ // console.log(movePosition);
225
+ if (!movePosition) {
226
+ return false;
227
+ }
228
+ if (!_this3.startDraw) {
229
+ return _this3.startDrawTip(movePosition);
230
+ }
231
+ if (positions.length == 1) {
232
+ positions.push(movePosition);
233
+ _this3.addLine(positions);
234
+ } else {
235
+ if (clickStatus) {
236
+ positions.push(movePosition);
237
+ } else {
238
+ positions.pop();
239
+ positions.push(movePosition);
240
+ }
241
+ }
242
+ if (positions.length >= 3) {
243
+ // 绘制label
244
+ if (totalLabelEntity) {
245
+ _this3.viewer.entities.remove(totalLabelEntity);
246
+ _this3.totalEntityCollection.splice(_this3.totalEntityCollection.indexOf(totalLabelEntity), 1);
247
+ }
248
+ var text = '面积:' + _this3.getArea(positions) + 'km²';
249
+ var centerPoint = _this3.getCenterOfGravityPoint(positions);
250
+ totalLabelEntity = _this3.addLabel(centerPoint, text);
251
+ _this3.totalEntityCollection.push(totalLabelEntity);
252
+ }
253
+ if (positions.length >= 2) {
254
+ var _this3$labelEntityCol;
255
+ labelEntityCollection.forEach(function (entity) {
256
+ _this3.viewer.entities.remove(entity);
257
+ _this3.labelEntityCollection.splice(_this3.labelEntityCollection.indexOf(entity), 1);
258
+ });
259
+ positions.forEach(function (position, index) {
260
+ if (index === positions.length - 1) {
261
+ return;
262
+ }
263
+ var prevPosition = positions[index + 1];
264
+ var centerPoint = _cesium.Cartesian3.midpoint(position, prevPosition, new _cesium.Cartesian3());
265
+ var currentLength = _this3.getLengthText(position, prevPosition);
266
+ // 计算距离
267
+ var lengthText = '距离:' + currentLength + 'km';
268
+ var labelEntity = _this3.addLabel(centerPoint, lengthText);
269
+ labelEntityCollection.push(labelEntity);
270
+ });
271
+ (_this3$labelEntityCol = _this3.labelEntityCollection).push.apply(_this3$labelEntityCol, _toConsumableArray(labelEntityCollection));
272
+ }
273
+ clickStatus = false;
274
+ }, _cesium.ScreenSpaceEventType.MOUSE_MOVE);
136
275
  this.viewer.screenSpaceEventHandler.setInputAction(function (clickEvent) {
137
276
  clickStatus = true;
277
+ if (!_this3.startDraw) {
278
+ _this3.startDraw = true;
279
+ if (_this3.clearLast) {
280
+ _this3.clear();
281
+ }
282
+ }
283
+
138
284
  // var cartesian = this.viewer.scene.pickPosition(clickEvent.position);
139
- var cartesian = _this2.viewer.scene.globe.pick(_this2.viewer.camera.getPickRay(clickEvent.position), _this2.viewer.scene);
285
+ var cartesian = _this3.viewer.scene.globe.pick(_this3.viewer.camera.getPickRay(clickEvent.position), _this3.viewer.scene);
140
286
  // console.log(cartesian);
141
287
 
142
288
  if (!cartesian) {
@@ -144,38 +290,7 @@ var Measure = exports.Measure = /*#__PURE__*/function () {
144
290
  }
145
291
  if (positions.length == 0) {
146
292
  positions.push(cartesian.clone()); //鼠标左击 添加第1个点
147
- _this2.addPoint(cartesian);
148
- _this2.viewer.screenSpaceEventHandler.setInputAction(function (moveEvent) {
149
- // var movePosition = this.viewer.scene.pickPosition(moveEvent.endPosition);
150
- var movePosition = _this2.viewer.scene.globe.pick(_this2.viewer.camera.getPickRay(moveEvent.endPosition), _this2.viewer.scene);
151
- // console.log(movePosition);
152
- if (!movePosition) {
153
- return false;
154
- }
155
- if (positions.length == 1) {
156
- positions.push(movePosition);
157
- _this2.addLine(positions);
158
- } else {
159
- if (clickStatus) {
160
- positions.push(movePosition);
161
- } else {
162
- positions.pop();
163
- positions.push(movePosition);
164
- }
165
- }
166
- if (positions.length >= 3) {
167
- // 绘制label
168
- if (labelEntity) {
169
- _this2.viewer.entities.remove(labelEntity);
170
- _this2.entityCollection.splice(_this2.entityCollection.indexOf(labelEntity), 1);
171
- }
172
- var text = '面积:' + _this2.getArea(positions);
173
- var centerPoint = _this2.getCenterOfGravityPoint(positions);
174
- labelEntity = _this2.addLabel(centerPoint, text);
175
- _this2.entityCollection.push(labelEntity);
176
- }
177
- clickStatus = false;
178
- }, _cesium.ScreenSpaceEventType.MOUSE_MOVE);
293
+ _this3.addPoint(cartesian);
179
294
  } else if (positions.length == 2) {
180
295
  if (!cartesian) {
181
296
  return false;
@@ -183,13 +298,13 @@ var Measure = exports.Measure = /*#__PURE__*/function () {
183
298
  positions.pop();
184
299
  positions.push(cartesian.clone()); // 鼠标左击 添加第2个点
185
300
 
186
- _this2.addPoint(cartesian);
187
- _this2.addPolyGon(positions);
301
+ _this3.addPoint(cartesian);
302
+ _this3.addPolyGon(positions);
188
303
 
189
304
  // 右击结束
190
- _this2.viewer.screenSpaceEventHandler.setInputAction(function (clickEvent) {
305
+ _this3.viewer.screenSpaceEventHandler.setInputAction(function (clickEvent) {
191
306
  // var clickPosition = this.viewer.scene.pickPosition(clickEvent.position);
192
- var clickPosition = _this2.viewer.scene.globe.pick(_this2.viewer.camera.getPickRay(clickEvent.position), _this2.viewer.scene);
307
+ var clickPosition = _this3.viewer.scene.globe.pick(_this3.viewer.camera.getPickRay(clickEvent.position), _this3.viewer.scene);
193
308
  // console.log(clickPosition);
194
309
  if (!clickPosition) {
195
310
  return false;
@@ -197,11 +312,12 @@ var Measure = exports.Measure = /*#__PURE__*/function () {
197
312
  positions.pop();
198
313
  positions.push(clickPosition);
199
314
  positions.push(positions[0]); // 闭合
200
- _this2.addPoint(clickPosition);
201
- _this2.viewer.screenSpaceEventHandler.removeInputAction(_cesium.ScreenSpaceEventType.LEFT_CLICK);
202
- _this2.viewer.screenSpaceEventHandler.removeInputAction(_cesium.ScreenSpaceEventType.MOUSE_MOVE);
203
- _this2.viewer.screenSpaceEventHandler.removeInputAction(_cesium.ScreenSpaceEventType.RIGHT_CLICK);
204
- _this2.viewer.cancelBubble = false;
315
+ _this3.addPoint(clickPosition);
316
+ positions = [];
317
+ _this3.viewer.cancelBubble = false;
318
+ _this3.startDraw = false;
319
+ totalLabelEntity = null;
320
+ labelEntityCollection = [];
205
321
  if (callback) {
206
322
  callback();
207
323
  }
@@ -212,7 +328,7 @@ var Measure = exports.Measure = /*#__PURE__*/function () {
212
328
  }
213
329
  positions.pop();
214
330
  positions.push(cartesian.clone()); // 鼠标左击 添加第3个点
215
- _this2.addPoint(cartesian);
331
+ _this3.addPoint(cartesian);
216
332
  }
217
333
  }, _cesium.ScreenSpaceEventType.LEFT_CLICK);
218
334
  }
@@ -223,7 +339,7 @@ var Measure = exports.Measure = /*#__PURE__*/function () {
223
339
  }, {
224
340
  key: "measureHeight",
225
341
  value: function measureHeight(callback) {
226
- var _this3 = this;
342
+ var _this4 = this;
227
343
  var positions = [];
228
344
  var labelEntity_1 = null; // 标签实体
229
345
  var labelEntity_2 = null; // 标签实体
@@ -231,7 +347,7 @@ var Measure = exports.Measure = /*#__PURE__*/function () {
231
347
 
232
348
  // 注册鼠标左击事件
233
349
  this.viewer.screenSpaceEventHandler.setInputAction(function (clickEvent) {
234
- var cartesian = _this3.viewer.scene.pickPosition(clickEvent.position); // 坐标
350
+ var cartesian = _this4.viewer.scene.pickPosition(clickEvent.position); // 坐标
235
351
  //var cartesian = this.viewer.scene.globe.pick(this.viewer.camera.getPickRay(clickEvent.position), this.viewer.scene);
236
352
 
237
353
  // 存储第一个点
@@ -241,11 +357,11 @@ var Measure = exports.Measure = /*#__PURE__*/function () {
241
357
  return false;
242
358
  }
243
359
  positions.push(cartesian.clone());
244
- _this3.addPoint(cartesian);
360
+ _this4.addPoint(cartesian);
245
361
 
246
362
  // 注册鼠标移动事件
247
- _this3.viewer.screenSpaceEventHandler.setInputAction(function (moveEvent) {
248
- var movePosition = _this3.viewer.scene.pickPosition(moveEvent.endPosition); // 鼠标移动的点
363
+ _this4.viewer.screenSpaceEventHandler.setInputAction(function (moveEvent) {
364
+ var movePosition = _this4.viewer.scene.pickPosition(moveEvent.endPosition); // 鼠标移动的点
249
365
  //var movePosition = this.viewer.scene.globe.pick(this.viewer.camera.getPickRay(moveEvent.endPosition), this.viewer.scene);
250
366
  if (!movePosition) {
251
367
  return false;
@@ -263,41 +379,41 @@ var Measure = exports.Measure = /*#__PURE__*/function () {
263
379
 
264
380
  // 绘制label
265
381
  if (labelEntity_1) {
266
- _this3.viewer.entities.remove(labelEntity_1);
267
- _this3.entityCollection.splice(_this3.entityCollection.indexOf(labelEntity_1), 1);
268
- _this3.viewer.entities.remove(labelEntity_2);
269
- _this3.entityCollection.splice(_this3.entityCollection.indexOf(labelEntity_2), 1);
270
- _this3.viewer.entities.remove(labelEntity_3);
271
- _this3.entityCollection.splice(_this3.entityCollection.indexOf(labelEntity_3), 1);
382
+ _this4.viewer.entities.remove(labelEntity_1);
383
+ _this4.entityCollection.splice(_this4.entityCollection.indexOf(labelEntity_1), 1);
384
+ _this4.viewer.entities.remove(labelEntity_2);
385
+ _this4.entityCollection.splice(_this4.entityCollection.indexOf(labelEntity_2), 1);
386
+ _this4.viewer.entities.remove(labelEntity_3);
387
+ _this4.entityCollection.splice(_this4.entityCollection.indexOf(labelEntity_3), 1);
272
388
  }
273
389
 
274
390
  // 计算中点
275
391
  var centerPoint_1 = _cesium.Cartesian3.midpoint(positions[0], positions[1], new _cesium.Cartesian3());
276
392
  // 计算距离
277
- var lengthText_1 = '水平距离:' + _this3.getLengthText(positions[0], positions[1]);
278
- labelEntity_1 = _this3.addLabel(centerPoint_1, lengthText_1);
279
- _this3.entityCollection.push(labelEntity_1);
393
+ var lengthText_1 = '水平距离:' + _this4.getLengthText(positions[0], positions[1]);
394
+ labelEntity_1 = _this4.addLabel(centerPoint_1, lengthText_1);
395
+ _this4.entityCollection.push(labelEntity_1);
280
396
 
281
397
  // 计算中点
282
398
  var centerPoint_2 = _cesium.Cartesian3.midpoint(positions[1], positions[2], new _cesium.Cartesian3());
283
399
  // 计算距离
284
- var lengthText_2 = '垂直距离:' + _this3.getLengthText(positions[1], positions[2]);
285
- labelEntity_2 = _this3.addLabel(centerPoint_2, lengthText_2);
286
- _this3.entityCollection.push(labelEntity_2);
400
+ var lengthText_2 = '垂直距离:' + _this4.getLengthText(positions[1], positions[2]);
401
+ labelEntity_2 = _this4.addLabel(centerPoint_2, lengthText_2);
402
+ _this4.entityCollection.push(labelEntity_2);
287
403
 
288
404
  // 计算中点
289
405
  var centerPoint_3 = _cesium.Cartesian3.midpoint(positions[2], positions[3], new _cesium.Cartesian3());
290
406
  // 计算距离
291
- var lengthText_3 = '直线距离:' + _this3.getLengthText(positions[2], positions[3]);
292
- labelEntity_3 = _this3.addLabel(centerPoint_3, lengthText_3);
293
- _this3.entityCollection.push(labelEntity_3);
407
+ var lengthText_3 = '直线距离:' + _this4.getLengthText(positions[2], positions[3]);
408
+ labelEntity_3 = _this4.addLabel(centerPoint_3, lengthText_3);
409
+ _this4.entityCollection.push(labelEntity_3);
294
410
  } else {
295
411
  var _verticalPoint = new _cesium.Cartesian3(movePosition.x, movePosition.y, positions[0].z);
296
412
  positions.push(_verticalPoint);
297
413
  positions.push(movePosition);
298
414
  positions.push(positions[0]);
299
415
  // 绘制线
300
- _this3.addLine(positions);
416
+ _this4.addLine(positions);
301
417
  }
302
418
  }, _cesium.ScreenSpaceEventType.MOUSE_MOVE);
303
419
  } else {
@@ -311,9 +427,9 @@ var Measure = exports.Measure = /*#__PURE__*/function () {
311
427
  positions.push(verticalPoint);
312
428
  positions.push(cartesian);
313
429
  positions.push(positions[0]);
314
- _this3.addPoint(cartesian);
315
- _this3.viewer.screenSpaceEventHandler.removeInputAction(_cesium.ScreenSpaceEventType.LEFT_CLICK);
316
- _this3.viewer.screenSpaceEventHandler.removeInputAction(_cesium.ScreenSpaceEventType.MOUSE_MOVE);
430
+ _this4.addPoint(cartesian);
431
+ _this4.viewer.screenSpaceEventHandler.removeInputAction(_cesium.ScreenSpaceEventType.LEFT_CLICK);
432
+ _this4.viewer.screenSpaceEventHandler.removeInputAction(_cesium.ScreenSpaceEventType.MOUSE_MOVE);
317
433
  if (callback) {
318
434
  callback();
319
435
  }
@@ -422,20 +538,15 @@ var Measure = exports.Measure = /*#__PURE__*/function () {
422
538
  value: function getLengthText(firstPoint, secondPoint) {
423
539
  // 计算距离
424
540
  var length = _cesium.Cartesian3.distance(firstPoint, secondPoint);
425
- if (length > 1000) {
426
- length = (length / 1000).toFixed(2) + ' 公里';
427
- } else {
428
- length = length.toFixed(2) + ' 米';
429
- }
430
- return length;
541
+ return (length / 1000).toFixed(2);
431
542
  }
432
543
  }, {
433
544
  key: "getArea",
434
545
  value: function getArea(points) {
435
- var _this4 = this;
546
+ var _this5 = this;
436
547
  var ps = points.map(function (point) {
437
548
  var cartographic = _cesium.Ellipsoid.WGS84.cartesianToCartographic(point);
438
- var height = _this4.viewer.scene.globe.getHeight(cartographic);
549
+ var height = _this5.viewer.scene.globe.getHeight(cartographic);
439
550
  return _cesium.Cartesian3.fromDegrees(cartographic.longitude / Math.PI * 180, cartographic.latitude / Math.PI * 180, height);
440
551
  });
441
552
  var s = 0;
@@ -445,13 +556,7 @@ var Measure = exports.Measure = /*#__PURE__*/function () {
445
556
  if (i < ps.length - 1) p2 = ps[i + 1];else p2 = ps[0];
446
557
  s += p1.x * p2.y - p2.x * p1.y;
447
558
  }
448
- var res;
449
- if (s < 1000000) {
450
- res = Math.abs(s).toFixed(4) + ' 平方米';
451
- } else {
452
- res = Math.abs((s / 1000000.0).toFixed(4)) + ' 平方公里';
453
- }
454
- return res;
559
+ return Math.abs((s / 1000000.0).toFixed(4));
455
560
  }
456
561
 
457
562
  /**