@vtx/cs-map 1.0.63 → 1.0.65

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 (283) hide show
  1. package/README.md +202 -202
  2. package/lib/_util/EventEmitter.js +2 -2
  3. package/lib/_util/EventEmitter.js.map +1 -1
  4. package/lib/_util/Provider.js.map +1 -1
  5. package/lib/_util/StyleCache.js +2 -2
  6. package/lib/_util/StyleCache.js.map +1 -1
  7. package/lib/_util/filterSpecialCharacters.js +6 -6
  8. package/lib/_util/filterSpecialCharacters.js.map +1 -1
  9. package/lib/_util/generateRandomPosition.js +5 -5
  10. package/lib/_util/generateRandomPosition.js.map +1 -1
  11. package/lib/_util/getBBoxFromGeojson.js +12 -11
  12. package/lib/_util/getBBoxFromGeojson.js.map +1 -1
  13. package/lib/_util/getComponentProps.js.map +1 -1
  14. package/lib/_util/getCookie.js +4 -4
  15. package/lib/_util/getCookie.js.map +1 -1
  16. package/lib/_util/getDefaultMapInfo.js +2 -2
  17. package/lib/_util/getDefaultMapInfo.js.map +1 -1
  18. package/lib/_util/getSystemInfo.js +2 -2
  19. package/lib/_util/getSystemInfo.js.map +1 -1
  20. package/lib/_util/getToken.js.map +1 -1
  21. package/lib/_util/getUrlParam.js.map +1 -1
  22. package/lib/_util/heightAndZoom.js.map +1 -1
  23. package/lib/_util/http.js +20 -20
  24. package/lib/_util/http.js.map +1 -1
  25. package/lib/_util/isFunction.js.map +1 -1
  26. package/lib/_util/isObject.js.map +1 -1
  27. package/lib/_util/layer.js +51 -72
  28. package/lib/_util/layer.js.map +1 -1
  29. package/lib/_util/mapTool.js +34 -34
  30. package/lib/_util/mapTool.js.map +1 -1
  31. package/lib/_util/setCookie.js +4 -4
  32. package/lib/_util/setCookie.js.map +1 -1
  33. package/lib/_util/transformRgb.js.map +1 -1
  34. package/lib/_util/useColSize.js.map +1 -1
  35. package/lib/_util/useInterval.js.map +1 -1
  36. package/lib/_util/useProps.js.map +1 -1
  37. package/lib/_util/useSet.js +2 -2
  38. package/lib/_util/useSet.js.map +1 -1
  39. package/lib/cesium-tiles-layer/CesiumTilesLayer.js +2 -2
  40. package/lib/cesium-tiles-layer/CesiumTilesLayer.js.map +1 -1
  41. package/lib/cesium-tiles-layer/index.js +4 -4
  42. package/lib/cesium-tiles-layer/index.js.map +1 -1
  43. package/lib/cesium-tiles-layer/style/css.js.map +1 -1
  44. package/lib/cesium-tiles-layer/style/index.js.map +1 -1
  45. package/lib/circle/Circle.js +2 -2
  46. package/lib/circle/Circle.js.map +1 -1
  47. package/lib/circle/index.js +2 -2
  48. package/lib/circle/index.js.map +1 -1
  49. package/lib/config.js.map +1 -1
  50. package/lib/demand-layer/DemandLayer.js +2 -2
  51. package/lib/demand-layer/DemandLayer.js.map +1 -1
  52. package/lib/demand-layer/index.js +2 -2
  53. package/lib/demand-layer/index.js.map +1 -1
  54. package/lib/demand-layer/style/css.js.map +1 -1
  55. package/lib/demand-layer/style/index.js.map +1 -1
  56. package/lib/events/index.js.map +1 -1
  57. package/lib/feature-layer/FeatureLayer.js +2 -2
  58. package/lib/feature-layer/FeatureLayer.js.map +1 -1
  59. package/lib/feature-layer/createFeatureCollection.js +13 -13
  60. package/lib/feature-layer/createFeatureCollection.js.map +1 -1
  61. package/lib/feature-layer/index.js +6 -8
  62. package/lib/feature-layer/index.js.map +1 -1
  63. package/lib/feature-layer/style/css.js.map +1 -1
  64. package/lib/feature-layer/style/index.js.map +1 -1
  65. package/lib/fly-line-layer/FlyLineLayer.js +9 -9
  66. package/lib/fly-line-layer/FlyLineLayer.js.map +1 -1
  67. package/lib/fly-line-layer/index.js +2 -2
  68. package/lib/fly-line-layer/index.js.map +1 -1
  69. package/lib/fly-line-layer/lineFlowMaterialProperty.js +4 -4
  70. package/lib/fly-line-layer/lineFlowMaterialProperty.js.map +1 -1
  71. package/lib/fly-line-layer/style/css.js.map +1 -1
  72. package/lib/fly-line-layer/style/index.js.map +1 -1
  73. package/lib/gif-dom-layer/GifDomLayer.js +2 -2
  74. package/lib/gif-dom-layer/GifDomLayer.js.map +1 -1
  75. package/lib/gif-dom-layer/index.js +2 -2
  76. package/lib/gif-dom-layer/index.js.map +1 -1
  77. package/lib/gif-dom-layer/style/css.js.map +1 -1
  78. package/lib/gif-dom-layer/style/index.js.map +1 -1
  79. package/lib/gradation-line-layer/GradationLineLayer.js +2 -2
  80. package/lib/gradation-line-layer/GradationLineLayer.js.map +1 -1
  81. package/lib/gradation-line-layer/index.js +2 -2
  82. package/lib/gradation-line-layer/index.js.map +1 -1
  83. package/lib/gradation-line-layer/style/css.js.map +1 -1
  84. package/lib/gradation-line-layer/style/index.js.map +1 -1
  85. package/lib/group-layer/GroupLayer.js +3 -3
  86. package/lib/group-layer/GroupLayer.js.map +1 -1
  87. package/lib/group-layer/index.js +2 -2
  88. package/lib/group-layer/index.js.map +1 -1
  89. package/lib/group-layer/style/css.js.map +1 -1
  90. package/lib/group-layer/style/index.js.map +1 -1
  91. package/lib/heatmap-layer/CesiumHeatmap.js +22 -22
  92. package/lib/heatmap-layer/CesiumHeatmap.js.map +1 -1
  93. package/lib/heatmap-layer/HeatmapLayer.js +2 -2
  94. package/lib/heatmap-layer/HeatmapLayer.js.map +1 -1
  95. package/lib/heatmap-layer/heatmap.js +42 -41
  96. package/lib/heatmap-layer/heatmap.js.map +1 -1
  97. package/lib/heatmap-layer/index.js +4 -4
  98. package/lib/heatmap-layer/index.js.map +1 -1
  99. package/lib/highlight-layer/HighlightLayer.js +8 -8
  100. package/lib/highlight-layer/HighlightLayer.js.map +1 -1
  101. package/lib/highlight-layer/index.js +2 -2
  102. package/lib/highlight-layer/index.js.map +1 -1
  103. package/lib/highlight-layer/style/css.js.map +1 -1
  104. package/lib/highlight-layer/style/index.js.map +1 -1
  105. package/lib/image-layer/ImageLayer.js +4 -3
  106. package/lib/image-layer/ImageLayer.js.map +1 -1
  107. package/lib/image-layer/index.js +5 -5
  108. package/lib/image-layer/index.js.map +1 -1
  109. package/lib/index.js.map +1 -1
  110. package/lib/label/Label.js +2 -2
  111. package/lib/label/Label.js.map +1 -1
  112. package/lib/label/index.js +2 -2
  113. package/lib/label/index.js.map +1 -1
  114. package/lib/legend/index.js +4 -4
  115. package/lib/legend/index.js.map +1 -1
  116. package/lib/legend/style/css.js.map +1 -1
  117. package/lib/legend/style/index.js.map +1 -1
  118. package/lib/legend/style/index.less +64 -64
  119. package/lib/line-flow-layer/LineFlowLayer.js +3 -2
  120. package/lib/line-flow-layer/LineFlowLayer.js.map +1 -1
  121. package/lib/line-flow-layer/index.js +2 -2
  122. package/lib/line-flow-layer/index.js.map +1 -1
  123. package/lib/line-flow-layer/style/css.js.map +1 -1
  124. package/lib/line-flow-layer/style/index.js.map +1 -1
  125. package/lib/map/InfoTool/index.js +45 -45
  126. package/lib/map/InfoTool/index.js.map +1 -1
  127. package/lib/map/InfoTool/index.less +46 -46
  128. package/lib/map/InfoTool/util.js +23 -23
  129. package/lib/map/InfoTool/util.js.map +1 -1
  130. package/lib/map/InfoWindow.js +2 -2
  131. package/lib/map/InfoWindow.js.map +1 -1
  132. package/lib/map/Layers.js +16 -8
  133. package/lib/map/Layers.js.map +1 -1
  134. package/lib/map/Popup.js +7 -4
  135. package/lib/map/Popup.js.map +1 -1
  136. package/lib/map/base/imagery/amap/AmapImageryProvider.js +2 -2
  137. package/lib/map/base/imagery/amap/AmapImageryProvider.js.map +1 -1
  138. package/lib/map/base/imagery/amap/AmapMercatorTilingScheme.js +2 -2
  139. package/lib/map/base/imagery/amap/AmapMercatorTilingScheme.js.map +1 -1
  140. package/lib/map/base/imagery/baidu/BaiduImageryProvider.js +2 -2
  141. package/lib/map/base/imagery/baidu/BaiduImageryProvider.js.map +1 -1
  142. package/lib/map/base/imagery/baidu/BaiduMercatorProjection.js +79 -79
  143. package/lib/map/base/imagery/baidu/BaiduMercatorProjection.js.map +1 -1
  144. package/lib/map/base/imagery/baidu/BaiduMercatorTilingScheme.js +17 -17
  145. package/lib/map/base/imagery/baidu/BaiduMercatorTilingScheme.js.map +1 -1
  146. package/lib/map/base/imagery/geoq/GeoQImageryProvider.js +2 -2
  147. package/lib/map/base/imagery/geoq/GeoQImageryProvider.js.map +1 -1
  148. package/lib/map/base/imagery/google/GoogleImageryProvider.js +2 -2
  149. package/lib/map/base/imagery/google/GoogleImageryProvider.js.map +1 -1
  150. package/lib/map/base/imagery/tdt/TdtImageryProvider.js +2 -2
  151. package/lib/map/base/imagery/tdt/TdtImageryProvider.js.map +1 -1
  152. package/lib/map/base/imagery/tencent/TencentImageryProvider.js +2 -2
  153. package/lib/map/base/imagery/tencent/TencentImageryProvider.js.map +1 -1
  154. package/lib/map/base/imagery/transform/AmapMercatorTilingScheme.js +2 -2
  155. package/lib/map/base/imagery/transform/AmapMercatorTilingScheme.js.map +1 -1
  156. package/lib/map/base/imagery/transform/CoordTransform.js +44 -44
  157. package/lib/map/base/imagery/transform/CoordTransform.js.map +1 -1
  158. package/lib/map/base/index.js +2 -2
  159. package/lib/map/base/index.js.map +1 -1
  160. package/lib/map/hooks/useGetMapFeatureInfoByText.js +1 -1
  161. package/lib/map/hooks/useGetMapFeatureInfoByText.js.map +1 -1
  162. package/lib/map/index.js +5 -4
  163. package/lib/map/index.js.map +1 -1
  164. package/lib/map/material/AroundPoint.js +2 -2
  165. package/lib/map/material/AroundPoint.js.map +1 -1
  166. package/lib/map/material/CircleRippleMaterialProperty.js +6 -5
  167. package/lib/map/material/CircleRippleMaterialProperty.js.map +1 -1
  168. package/lib/map/material/ODLineLayer.js +2 -2
  169. package/lib/map/material/ODLineLayer.js.map +1 -1
  170. package/lib/map/material/PolylineTrailLinkMaterialProperty.js +2 -2
  171. package/lib/map/material/PolylineTrailLinkMaterialProperty.js.map +1 -1
  172. package/lib/map/material/PolylineTrailMaterialProperty.js +2 -2
  173. package/lib/map/material/PolylineTrailMaterialProperty.js.map +1 -1
  174. package/lib/map/material/TilesBuilding.js +2 -2
  175. package/lib/map/material/TilesBuilding.js.map +1 -1
  176. package/lib/map/material/index.js.map +1 -1
  177. package/lib/map/style/css.js.map +1 -1
  178. package/lib/map/style/index.js.map +1 -1
  179. package/lib/map/style/index.less +248 -248
  180. package/lib/marker/Marker.js +2 -2
  181. package/lib/marker/Marker.js.map +1 -1
  182. package/lib/marker/index.js +2 -2
  183. package/lib/marker/index.js.map +1 -1
  184. package/lib/point/Point.js +2 -2
  185. package/lib/point/Point.js.map +1 -1
  186. package/lib/point/index.js +2 -2
  187. package/lib/point/index.js.map +1 -1
  188. package/lib/polygon/Polygon.js +2 -2
  189. package/lib/polygon/Polygon.js.map +1 -1
  190. package/lib/polygon/index.js +2 -2
  191. package/lib/polygon/index.js.map +1 -1
  192. package/lib/polyline/Polyline.js +2 -2
  193. package/lib/polyline/Polyline.js.map +1 -1
  194. package/lib/polyline/index.js +2 -2
  195. package/lib/polyline/index.js.map +1 -1
  196. package/lib/renderer/index.js +18 -17
  197. package/lib/renderer/index.js.map +1 -1
  198. package/lib/renderer/style/css.js.map +1 -1
  199. package/lib/renderer/style/index.js.map +1 -1
  200. package/lib/style/index.less +2 -2
  201. package/lib/style/themes/compact.less +1 -1
  202. package/lib/style/themes/dark.less +9 -9
  203. package/lib/style/themes/default.less +7 -7
  204. package/lib/style/themes/index.less +1 -1
  205. package/lib/style/themes/variable.less +5 -5
  206. package/lib/tools/base-map-switch/index.js +6 -6
  207. package/lib/tools/base-map-switch/index.js.map +1 -1
  208. package/lib/tools/components/Icon/index.js +31 -0
  209. package/lib/tools/components/Icon/index.js.map +1 -0
  210. package/lib/tools/components/Icon/svg.js +81 -0
  211. package/lib/tools/components/Icon/svg.js.map +1 -0
  212. package/lib/tools/components/Modal/index.css +42 -0
  213. package/lib/tools/components/Modal/index.js +40 -0
  214. package/lib/tools/components/Modal/index.js.map +1 -0
  215. package/lib/tools/components/Modal/index.less +33 -0
  216. package/lib/tools/{tools-item → components/item-wrap}/index.js +8 -8
  217. package/lib/tools/components/item-wrap/index.js.map +1 -0
  218. package/lib/tools/components/tool-Item/index.css +30 -0
  219. package/lib/tools/components/tool-Item/index.js +28 -0
  220. package/lib/tools/components/tool-Item/index.js.map +1 -0
  221. package/lib/tools/components/tool-Item/index.less +27 -0
  222. package/lib/tools/dimension-switch/index.js +4 -4
  223. package/lib/tools/dimension-switch/index.js.map +1 -1
  224. package/lib/tools/index.js +9 -3
  225. package/lib/tools/index.js.map +1 -1
  226. package/lib/tools/layer-control/index.js +6 -6
  227. package/lib/tools/layer-control/index.js.map +1 -1
  228. package/lib/tools/layer-control-popover/LayersCheckService.js +1 -0
  229. package/lib/tools/layer-control-popover/LayersCheckService.js.map +1 -1
  230. package/lib/tools/layer-control-popover/index.js +6 -7
  231. package/lib/tools/layer-control-popover/index.js.map +1 -1
  232. package/lib/tools/map-search/Select/index.js +7 -7
  233. package/lib/tools/map-search/Select/index.js.map +1 -1
  234. package/lib/tools/map-search/Select/style/css.js.map +1 -1
  235. package/lib/tools/map-search/Select/style/index.js.map +1 -1
  236. package/lib/tools/map-search/Select/style/index.less +47 -47
  237. package/lib/tools/map-search/index.js +4 -4
  238. package/lib/tools/map-search/index.js.map +1 -1
  239. package/lib/tools/style/css.js.map +1 -1
  240. package/lib/tools/style/index.css +10 -5
  241. package/lib/tools/style/index.js.map +1 -1
  242. package/lib/tools/style/index.less +11 -5
  243. package/lib/tools/tool-box/Measure/Area/index.js +16 -0
  244. package/lib/tools/tool-box/Measure/Area/index.js.map +1 -0
  245. package/lib/tools/tool-box/Measure/Distance/index.js +16 -0
  246. package/lib/tools/tool-box/Measure/Distance/index.js.map +1 -0
  247. package/lib/tools/tool-box/Measure/Height/index.js +16 -0
  248. package/lib/tools/tool-box/Measure/Height/index.js.map +1 -0
  249. package/lib/tools/tool-box/Measure/Measure.js +466 -0
  250. package/lib/tools/tool-box/Measure/Measure.js.map +1 -0
  251. package/lib/tools/tool-box/Measure/index.js +63 -0
  252. package/lib/tools/tool-box/Measure/index.js.map +1 -0
  253. package/lib/tools/tool-box/index.js +109 -0
  254. package/lib/tools/tool-box/index.js.map +1 -0
  255. package/lib/trail-polyline-layer/TrailPolylineLayer.js +2 -2
  256. package/lib/trail-polyline-layer/TrailPolylineLayer.js.map +1 -1
  257. package/lib/trail-polyline-layer/TrailPolylineMaterial.js +2 -2
  258. package/lib/trail-polyline-layer/TrailPolylineMaterial.js.map +1 -1
  259. package/lib/trail-polyline-layer/index.js +2 -2
  260. package/lib/trail-polyline-layer/index.js.map +1 -1
  261. package/lib/trail-polyline-layer/style/css.js.map +1 -1
  262. package/lib/trail-polyline-layer/style/index.js.map +1 -1
  263. package/lib/wall/WallGeometry.js +2 -2
  264. package/lib/wall/WallGeometry.js.map +1 -1
  265. package/lib/wall/index.js +2 -2
  266. package/lib/wall/index.js.map +1 -1
  267. package/lib/wall/style/css.js.map +1 -1
  268. package/lib/wall/style/index.js.map +1 -1
  269. package/lib/water-surface-layer/WaterSurfaceLayer.js +2 -2
  270. package/lib/water-surface-layer/WaterSurfaceLayer.js.map +1 -1
  271. package/lib/water-surface-layer/index.js +4 -4
  272. package/lib/water-surface-layer/index.js.map +1 -1
  273. package/lib/water-surface-layer/style/css.js.map +1 -1
  274. package/lib/water-surface-layer/style/index.js.map +1 -1
  275. package/lib/weather/Weather.js +30 -30
  276. package/lib/weather/Weather.js.map +1 -1
  277. package/lib/weather/index.js +2 -2
  278. package/lib/weather/index.js.map +1 -1
  279. package/lib/weather/style/css.js.map +1 -1
  280. package/lib/weather/style/index.js.map +1 -1
  281. package/package.json +1 -1
  282. package/CHANGELOG.md +0 -124
  283. package/lib/tools/tools-item/index.js.map +0 -1
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _index = _interopRequireDefault(require("../index"));
9
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
10
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
11
+ var _default = exports["default"] = function _default(props) {
12
+ return /*#__PURE__*/_react["default"].createElement(_index["default"], _extends({}, props, {
13
+ type: "MeasureHeight"
14
+ }));
15
+ };
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_index","obj","__esModule","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_default","exports","props","createElement","type"],"sources":["tools/tool-box/Measure/Height/index.js"],"sourcesContent":["import React from 'react';\nimport Measure from '../index';\n\nexport default props => <Measure {...props} type=\"MeasureHeight\" />;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAF,sBAAA,CAAAC,OAAA;AAA+B,SAAAD,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA;AAAA,SAAAE,SAAA,IAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAI,GAAA,IAAAD,MAAA,QAAAP,MAAA,CAAAS,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAJ,MAAA,EAAAC,GAAA,KAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAL,MAAA,YAAAJ,QAAA,CAAAa,KAAA,OAAAP,SAAA;AAAA,IAAAQ,QAAA,GAAAC,OAAA,cAEhB,SAAAD,SAAAE,KAAK;EAAA,oBAAItB,MAAA,YAAAuB,aAAA,CAACpB,MAAA,WAAO,EAAAG,QAAA,KAAKgB,KAAK;IAAEE,IAAI,EAAC;EAAe,EAAE,CAAC;AAAA"}
@@ -0,0 +1,466 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Measure = void 0;
7
+ var _cesium = require("cesium");
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 _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
10
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
11
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
12
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
13
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
14
+ /**
15
+ * 测量
16
+ */
17
+ var Measure = exports.Measure = /*#__PURE__*/function () {
18
+ function Measure(viewer) {
19
+ _classCallCheck(this, Measure);
20
+ this.viewer = viewer;
21
+ this.entityCollection = [];
22
+ this.viewer.scene.globe.depthTestAgainstTerrain = true;
23
+ }
24
+
25
+ // var this.entityCollection = [];
26
+ _createClass(Measure, [{
27
+ key: "getCollection",
28
+ value: function getCollection() {
29
+ return this.entityCollection;
30
+ }
31
+
32
+ /**
33
+ * 清除
34
+ */
35
+ }, {
36
+ key: "destroy",
37
+ value: function destroy(callback) {
38
+ for (var i = 0; i < this.entityCollection.length; i++) {
39
+ this.viewer.entities.remove(this.entityCollection[i]);
40
+ }
41
+ this.viewer.screenSpaceEventHandler.removeInputAction(_cesium.ScreenSpaceEventType.LEFT_CLICK);
42
+ this.viewer.screenSpaceEventHandler.removeInputAction(_cesium.ScreenSpaceEventType.MOUSE_MOVE);
43
+ this.viewer.screenSpaceEventHandler.removeInputAction(_cesium.ScreenSpaceEventType.RIGHT_CLICK);
44
+ this.entityCollection = [];
45
+ if (callback) {
46
+ callback();
47
+ }
48
+ }
49
+
50
+ /**
51
+ * 测距
52
+ */
53
+ }, {
54
+ key: "measurePolyLine",
55
+ value: function measurePolyLine(callback) {
56
+ var _this = this;
57
+ var positions = [];
58
+ var labelEntity = null; // 标签实体
59
+
60
+ // 注册鼠标左击事件
61
+ this.viewer.screenSpaceEventHandler.setInputAction(function (clickEvent) {
62
+ var cartesian = _this.viewer.scene.pickPosition(clickEvent.position); // 坐标
63
+ // var cartesian = this.viewer.scene.globe.pick(this.viewer.camera.getPickRay(clickEvent.position), this.viewer.scene);
64
+ // 存储第一个点
65
+ if (!cartesian) {
66
+ return false;
67
+ }
68
+ if (positions.length == 0) {
69
+ positions.push(cartesian.clone());
70
+ _this.addPoint(cartesian);
71
+
72
+ // 注册鼠标移动事件
73
+ _this.viewer.screenSpaceEventHandler.setInputAction(function (moveEvent) {
74
+ var movePosition = _this.viewer.scene.pickPosition(moveEvent.endPosition); // 鼠标移动的点
75
+ // var movePosition = this.viewer.scene.globe.pick(this.viewer.camera.getPickRay(moveEvent.endPosition), this.viewer.scene);
76
+
77
+ if (!movePosition) {
78
+ return false;
79
+ }
80
+ if (positions.length == 2) {
81
+ positions.pop();
82
+ positions.push(movePosition);
83
+
84
+ // 绘制label
85
+ if (labelEntity) {
86
+ _this.viewer.entities.remove(labelEntity);
87
+ _this.entityCollection.splice(_this.entityCollection.indexOf(labelEntity), 1);
88
+ }
89
+
90
+ // 计算中点
91
+ var centerPoint = _cesium.Cartesian3.midpoint(positions[0], positions[1], new _cesium.Cartesian3());
92
+ // 计算距离
93
+ var lengthText = '距离:' + _this.getLengthText(positions[0], positions[1]);
94
+ labelEntity = _this.addLabel(centerPoint, lengthText);
95
+ _this.entityCollection.push(labelEntity);
96
+ } else {
97
+ positions.push(movePosition);
98
+
99
+ // 绘制线
100
+ _this.addLine(positions);
101
+ }
102
+ }, _cesium.ScreenSpaceEventType.MOUSE_MOVE);
103
+ } else {
104
+ // 存储第二个点
105
+ positions.pop();
106
+ positions.push(cartesian);
107
+ _this.addPoint(cartesian);
108
+ _this.addLine(positions);
109
+ _this.viewer.screenSpaceEventHandler.removeInputAction(_cesium.ScreenSpaceEventType.LEFT_CLICK);
110
+ _this.viewer.screenSpaceEventHandler.removeInputAction(_cesium.ScreenSpaceEventType.MOUSE_MOVE);
111
+ if (callback) {
112
+ callback();
113
+ }
114
+ }
115
+ }, _cesium.ScreenSpaceEventType.LEFT_CLICK);
116
+ // this.viewer.screenSpaceEventHandler.setInputAction((clickEvent) => {
117
+
118
+ // this.viewer.screenSpaceEventHandler.removeInputAction(ScreenSpaceEventType.RIGHT_CLICK);
119
+ // }, ScreenSpaceEventType.RIGHT_CLICK);
120
+ }
121
+
122
+ /**
123
+ * 测面积
124
+ */
125
+ }, {
126
+ key: "measurePolygon",
127
+ value: function measurePolygon(callback) {
128
+ var _this2 = this;
129
+ var positions = [];
130
+ var clickStatus = false;
131
+ var labelEntity = null;
132
+ this.viewer.scene.globe.depthTestAgainstTerrain = false;
133
+ this.viewer.screenSpaceEventHandler.setInputAction(function (clickEvent) {
134
+ clickStatus = true;
135
+ // var cartesian = this.viewer.scene.pickPosition(clickEvent.position);
136
+ var cartesian = _this2.viewer.scene.globe.pick(_this2.viewer.camera.getPickRay(clickEvent.position), _this2.viewer.scene);
137
+ // console.log(cartesian);
138
+
139
+ if (!cartesian) {
140
+ return false;
141
+ }
142
+ if (positions.length == 0) {
143
+ positions.push(cartesian.clone()); //鼠标左击 添加第1个点
144
+ _this2.addPoint(cartesian);
145
+ _this2.viewer.screenSpaceEventHandler.setInputAction(function (moveEvent) {
146
+ // var movePosition = this.viewer.scene.pickPosition(moveEvent.endPosition);
147
+ var movePosition = _this2.viewer.scene.globe.pick(_this2.viewer.camera.getPickRay(moveEvent.endPosition), _this2.viewer.scene);
148
+ // console.log(movePosition);
149
+ if (!movePosition) {
150
+ return false;
151
+ }
152
+ if (positions.length == 1) {
153
+ positions.push(movePosition);
154
+ _this2.addLine(positions);
155
+ } else {
156
+ if (clickStatus) {
157
+ positions.push(movePosition);
158
+ } else {
159
+ positions.pop();
160
+ positions.push(movePosition);
161
+ }
162
+ }
163
+ if (positions.length >= 3) {
164
+ // 绘制label
165
+ if (labelEntity) {
166
+ _this2.viewer.entities.remove(labelEntity);
167
+ _this2.entityCollection.splice(_this2.entityCollection.indexOf(labelEntity), 1);
168
+ }
169
+ var text = '面积:' + _this2.getArea(positions);
170
+ var centerPoint = _this2.getCenterOfGravityPoint(positions);
171
+ labelEntity = _this2.addLabel(centerPoint, text);
172
+ _this2.entityCollection.push(labelEntity);
173
+ }
174
+ clickStatus = false;
175
+ }, _cesium.ScreenSpaceEventType.MOUSE_MOVE);
176
+ } else if (positions.length == 2) {
177
+ if (!cartesian) {
178
+ return false;
179
+ }
180
+ positions.pop();
181
+ positions.push(cartesian.clone()); // 鼠标左击 添加第2个点
182
+
183
+ _this2.addPoint(cartesian);
184
+ _this2.addPolyGon(positions);
185
+
186
+ // 右击结束
187
+ _this2.viewer.screenSpaceEventHandler.setInputAction(function (clickEvent) {
188
+ // var clickPosition = this.viewer.scene.pickPosition(clickEvent.position);
189
+ var clickPosition = _this2.viewer.scene.globe.pick(_this2.viewer.camera.getPickRay(clickEvent.position), _this2.viewer.scene);
190
+ // console.log(clickPosition);
191
+ if (!clickPosition) {
192
+ return false;
193
+ }
194
+ positions.pop();
195
+ positions.push(clickPosition);
196
+ positions.push(positions[0]); // 闭合
197
+ _this2.addPoint(clickPosition);
198
+ _this2.viewer.screenSpaceEventHandler.removeInputAction(_cesium.ScreenSpaceEventType.LEFT_CLICK);
199
+ _this2.viewer.screenSpaceEventHandler.removeInputAction(_cesium.ScreenSpaceEventType.MOUSE_MOVE);
200
+ _this2.viewer.screenSpaceEventHandler.removeInputAction(_cesium.ScreenSpaceEventType.RIGHT_CLICK);
201
+ if (callback) {
202
+ callback();
203
+ }
204
+ }, _cesium.ScreenSpaceEventType.RIGHT_CLICK);
205
+ } else if (positions.length >= 3) {
206
+ if (!cartesian) {
207
+ return false;
208
+ }
209
+ positions.pop();
210
+ positions.push(cartesian.clone()); // 鼠标左击 添加第3个点
211
+ _this2.addPoint(cartesian);
212
+ }
213
+ }, _cesium.ScreenSpaceEventType.LEFT_CLICK);
214
+ }
215
+
216
+ /**
217
+ * 测高
218
+ */
219
+ }, {
220
+ key: "measureHeight",
221
+ value: function measureHeight(callback) {
222
+ var _this3 = this;
223
+ var positions = [];
224
+ var labelEntity_1 = null; // 标签实体
225
+ var labelEntity_2 = null; // 标签实体
226
+ var labelEntity_3 = null; // 标签实体
227
+
228
+ // 注册鼠标左击事件
229
+ this.viewer.screenSpaceEventHandler.setInputAction(function (clickEvent) {
230
+ var cartesian = _this3.viewer.scene.pickPosition(clickEvent.position); // 坐标
231
+ //var cartesian = this.viewer.scene.globe.pick(this.viewer.camera.getPickRay(clickEvent.position), this.viewer.scene);
232
+
233
+ // 存储第一个点
234
+
235
+ if (positions.length == 0) {
236
+ if (!cartesian) {
237
+ return false;
238
+ }
239
+ positions.push(cartesian.clone());
240
+ _this3.addPoint(cartesian);
241
+
242
+ // 注册鼠标移动事件
243
+ _this3.viewer.screenSpaceEventHandler.setInputAction(function (moveEvent) {
244
+ var movePosition = _this3.viewer.scene.pickPosition(moveEvent.endPosition); // 鼠标移动的点
245
+ //var movePosition = this.viewer.scene.globe.pick(this.viewer.camera.getPickRay(moveEvent.endPosition), this.viewer.scene);
246
+ if (!movePosition) {
247
+ return false;
248
+ }
249
+ if (positions.length >= 2) {
250
+ positions.pop();
251
+ positions.pop();
252
+ positions.pop();
253
+ var cartographic = _cesium.Cartographic.fromCartesian(movePosition);
254
+ var height = _cesium.Cartographic.fromCartesian(positions[0]).height;
255
+ var verticalPoint = _cesium.Cartesian3.fromDegrees(Math.toDegrees(cartographic.longitude), Math.toDegrees(cartographic.latitude), height);
256
+ positions.push(verticalPoint);
257
+ positions.push(movePosition);
258
+ positions.push(positions[0]);
259
+
260
+ // 绘制label
261
+ if (labelEntity_1) {
262
+ _this3.viewer.entities.remove(labelEntity_1);
263
+ _this3.entityCollection.splice(_this3.entityCollection.indexOf(labelEntity_1), 1);
264
+ _this3.viewer.entities.remove(labelEntity_2);
265
+ _this3.entityCollection.splice(_this3.entityCollection.indexOf(labelEntity_2), 1);
266
+ _this3.viewer.entities.remove(labelEntity_3);
267
+ _this3.entityCollection.splice(_this3.entityCollection.indexOf(labelEntity_3), 1);
268
+ }
269
+
270
+ // 计算中点
271
+ var centerPoint_1 = _cesium.Cartesian3.midpoint(positions[0], positions[1], new _cesium.Cartesian3());
272
+ // 计算距离
273
+ var lengthText_1 = '水平距离:' + _this3.getLengthText(positions[0], positions[1]);
274
+ labelEntity_1 = _this3.addLabel(centerPoint_1, lengthText_1);
275
+ _this3.entityCollection.push(labelEntity_1);
276
+
277
+ // 计算中点
278
+ var centerPoint_2 = _cesium.Cartesian3.midpoint(positions[1], positions[2], new _cesium.Cartesian3());
279
+ // 计算距离
280
+ var lengthText_2 = '垂直距离:' + _this3.getLengthText(positions[1], positions[2]);
281
+ labelEntity_2 = _this3.addLabel(centerPoint_2, lengthText_2);
282
+ _this3.entityCollection.push(labelEntity_2);
283
+
284
+ // 计算中点
285
+ var centerPoint_3 = _cesium.Cartesian3.midpoint(positions[2], positions[3], new _cesium.Cartesian3());
286
+ // 计算距离
287
+ var lengthText_3 = '直线距离:' + _this3.getLengthText(positions[2], positions[3]);
288
+ labelEntity_3 = _this3.addLabel(centerPoint_3, lengthText_3);
289
+ _this3.entityCollection.push(labelEntity_3);
290
+ } else {
291
+ var _verticalPoint = new _cesium.Cartesian3(movePosition.x, movePosition.y, positions[0].z);
292
+ positions.push(_verticalPoint);
293
+ positions.push(movePosition);
294
+ positions.push(positions[0]);
295
+ // 绘制线
296
+ _this3.addLine(positions);
297
+ }
298
+ }, _cesium.ScreenSpaceEventType.MOUSE_MOVE);
299
+ } else {
300
+ // 存储第二个点
301
+ positions.pop();
302
+ positions.pop();
303
+ positions.pop();
304
+ var cartographic = _cesium.Cartographic.fromCartesian(cartesian);
305
+ var height = _cesium.Cartographic.fromCartesian(positions[0]).height;
306
+ var verticalPoint = _cesium.Cartesian3.fromDegrees(Math.toDegrees(cartographic.longitude), Math.toDegrees(cartographic.latitude), height);
307
+ positions.push(verticalPoint);
308
+ positions.push(cartesian);
309
+ positions.push(positions[0]);
310
+ _this3.addPoint(cartesian);
311
+ _this3.viewer.screenSpaceEventHandler.removeInputAction(_cesium.ScreenSpaceEventType.LEFT_CLICK);
312
+ _this3.viewer.screenSpaceEventHandler.removeInputAction(_cesium.ScreenSpaceEventType.MOUSE_MOVE);
313
+ if (callback) {
314
+ callback();
315
+ }
316
+ }
317
+ }, _cesium.ScreenSpaceEventType.LEFT_CLICK);
318
+ }
319
+
320
+ /**
321
+ * 添加点
322
+ * @param position
323
+ */
324
+ }, {
325
+ key: "addPoint",
326
+ value: function addPoint(position) {
327
+ this.entityCollection.push(this.viewer.entities.add(new _cesium.Entity({
328
+ position: position,
329
+ point: {
330
+ color: _cesium.Color.BLUE,
331
+ pixelSize: 5,
332
+ heightReference: _cesium.HeightReference.NONE
333
+ }
334
+ })));
335
+ }
336
+
337
+ /**
338
+ * 添加线
339
+ * @param positions
340
+ */
341
+ }, {
342
+ key: "addLine",
343
+ value: function addLine(positions) {
344
+ var dynamicPositions = new _cesium.CallbackProperty(function () {
345
+ return positions;
346
+ }, false);
347
+ this.entityCollection.push(this.viewer.entities.add(new _cesium.Entity({
348
+ polyline: {
349
+ positions: dynamicPositions,
350
+ width: 2,
351
+ arcType: _cesium.ArcType.RHUMB,
352
+ clampToGround: true,
353
+ material: _cesium.Color.RED,
354
+ //获取或设置折线的表面外观
355
+ heightReference: _cesium.HeightReference.RELATIVE_TO_GROUND
356
+ }
357
+ })));
358
+ }
359
+
360
+ /**
361
+ * 添加面
362
+ * @param positions
363
+ */
364
+ }, {
365
+ key: "addPolyGon",
366
+ value: function addPolyGon(positions) {
367
+ var dynamicPositions = new _cesium.CallbackProperty(function () {
368
+ return new _cesium.PolygonHierarchy(positions);
369
+ }, false);
370
+ this.entityCollection.push(this.viewer.entities.add(new _cesium.Entity({
371
+ polygon: {
372
+ hierarchy: dynamicPositions,
373
+ material: _cesium.Color.RED.withAlpha(0.6),
374
+ classificationType: _cesium.ClassificationType.BOTH // 贴地表和贴模型,如果设置了,这不能使用挤出高度
375
+ }
376
+ })));
377
+ }
378
+
379
+ /**
380
+ * 添加标签
381
+ * @param position
382
+ * @param text
383
+ */
384
+ }, {
385
+ key: "addLabel",
386
+ value: function addLabel(centerPoint, text) {
387
+ return this.viewer.entities.add(new _cesium.Entity({
388
+ position: centerPoint,
389
+ label: {
390
+ text: text,
391
+ font: '14px sans-serif',
392
+ style: _cesium.LabelStyle.FILL_AND_OUTLINE,
393
+ //FILL FILL_AND_OUTLINE OUTLINE
394
+ fillColor: _cesium.Color.YELLOW,
395
+ showBackground: true,
396
+ //指定标签后面背景的可见性
397
+ backgroundColor: new _cesium.Color(0.165, 0.165, 0.165, 0.8),
398
+ // 背景颜色
399
+ backgroundPadding: new _cesium.Cartesian2(6, 6),
400
+ //指定以像素为单位的水平和垂直背景填充padding
401
+ pixelOffset: new _cesium.Cartesian2(0, -25),
402
+ disableDepthTestDistance: Number.POSITIVE_INFINITY
403
+ }
404
+ }));
405
+ }
406
+
407
+ /**
408
+ * 计算两点距离
409
+ * @param firstPoint
410
+ * @param secondPoint
411
+ */
412
+ }, {
413
+ key: "getLengthText",
414
+ value: function getLengthText(firstPoint, secondPoint) {
415
+ // 计算距离
416
+ var length = _cesium.Cartesian3.distance(firstPoint, secondPoint);
417
+ if (length > 1000) {
418
+ length = (length / 1000).toFixed(2) + ' 公里';
419
+ } else {
420
+ length = length.toFixed(2) + ' 米';
421
+ }
422
+ return length;
423
+ }
424
+ }, {
425
+ key: "getArea",
426
+ value: function getArea(points) {
427
+ var _this4 = this;
428
+ var ps = points.map(function (point) {
429
+ var cartographic = _cesium.Ellipsoid.WGS84.cartesianToCartographic(point);
430
+ var height = _this4.viewer.scene.globe.getHeight(cartographic);
431
+ return _cesium.Cartesian3.fromDegrees(cartographic.longitude / Math.PI * 180, cartographic.latitude / Math.PI * 180, height);
432
+ });
433
+ var s = 0;
434
+ for (var i = 0; i < ps.length; i++) {
435
+ var p1 = ps[i];
436
+ var p2 = void 0;
437
+ if (i < ps.length - 1) p2 = ps[i + 1];else p2 = ps[0];
438
+ s += p1.x * p2.y - p2.x * p1.y;
439
+ }
440
+ var res;
441
+ if (s < 1000000) {
442
+ res = Math.abs(s).toFixed(4) + ' 平方米';
443
+ } else {
444
+ res = Math.abs((s / 1000000.0).toFixed(4)) + ' 平方公里';
445
+ }
446
+ return res;
447
+ }
448
+
449
+ /**
450
+ * 计算多边形的中心(简单的处理)
451
+ * @param mPoints
452
+ * @returns {*[]}
453
+ */
454
+ }, {
455
+ key: "getCenterOfGravityPoint",
456
+ value: function getCenterOfGravityPoint(mPoints) {
457
+ var centerPoint = mPoints[0];
458
+ for (var i = 1; i < mPoints.length; i++) {
459
+ centerPoint = _cesium.Cartesian3.midpoint(centerPoint, mPoints[i], new _cesium.Cartesian3());
460
+ }
461
+ return centerPoint;
462
+ }
463
+ }]);
464
+ return Measure;
465
+ }();
466
+ //# sourceMappingURL=Measure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Measure.js","names":["_cesium","require","_typeof","o","Symbol","iterator","constructor","prototype","_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","_toPropertyKey","key","_createClass","protoProps","staticProps","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","call","Number","Measure","exports","viewer","entityCollection","scene","globe","depthTestAgainstTerrain","value","getCollection","destroy","callback","entities","remove","screenSpaceEventHandler","removeInputAction","ScreenSpaceEventType","LEFT_CLICK","MOUSE_MOVE","RIGHT_CLICK","measurePolyLine","_this","positions","labelEntity","setInputAction","clickEvent","cartesian","pickPosition","position","push","clone","addPoint","moveEvent","movePosition","endPosition","pop","splice","indexOf","centerPoint","Cartesian3","midpoint","lengthText","getLengthText","addLabel","addLine","measurePolygon","_this2","clickStatus","pick","camera","getPickRay","text","getArea","getCenterOfGravityPoint","addPolyGon","clickPosition","measureHeight","_this3","labelEntity_1","labelEntity_2","labelEntity_3","cartographic","Cartographic","fromCartesian","height","verticalPoint","fromDegrees","Math","toDegrees","longitude","latitude","centerPoint_1","lengthText_1","centerPoint_2","lengthText_2","centerPoint_3","lengthText_3","x","y","z","add","Entity","point","color","Color","BLUE","pixelSize","heightReference","HeightReference","NONE","dynamicPositions","CallbackProperty","polyline","width","arcType","ArcType","RHUMB","clampToGround","material","RED","RELATIVE_TO_GROUND","PolygonHierarchy","polygon","hierarchy","withAlpha","classificationType","ClassificationType","BOTH","label","font","style","LabelStyle","FILL_AND_OUTLINE","fillColor","YELLOW","showBackground","backgroundColor","backgroundPadding","Cartesian2","pixelOffset","disableDepthTestDistance","POSITIVE_INFINITY","firstPoint","secondPoint","distance","toFixed","points","_this4","ps","map","Ellipsoid","WGS84","cartesianToCartographic","getHeight","PI","s","p1","p2","abs","mPoints"],"sources":["tools/tool-box/Measure/Measure.js"],"sourcesContent":["import {\n ArcType,\n CallbackProperty,\n Cartesian2,\n Cartesian3,\n Cartographic,\n ClassificationType,\n Color,\n Ellipsoid,\n Entity,\n HeightReference,\n LabelStyle,\n PolygonHierarchy,\n ScreenSpaceEventType,\n} from 'cesium';\n\n/**\n * 测量\n */\nexport class Measure {\n constructor(viewer) {\n this.viewer = viewer;\n this.entityCollection = [];\n this.viewer.scene.globe.depthTestAgainstTerrain = true;\n }\n\n // var this.entityCollection = [];\n\n getCollection() {\n return this.entityCollection;\n }\n\n /**\n * 清除\n */\n destroy(callback) {\n for (let i = 0; i < this.entityCollection.length; i++) {\n this.viewer.entities.remove(this.entityCollection[i]);\n }\n this.viewer.screenSpaceEventHandler.removeInputAction(ScreenSpaceEventType.LEFT_CLICK);\n this.viewer.screenSpaceEventHandler.removeInputAction(ScreenSpaceEventType.MOUSE_MOVE);\n this.viewer.screenSpaceEventHandler.removeInputAction(ScreenSpaceEventType.RIGHT_CLICK);\n this.entityCollection = [];\n\n if (callback) {\n callback();\n }\n }\n\n /**\n * 测距\n */\n measurePolyLine(callback) {\n let positions = [];\n let labelEntity = null; // 标签实体\n\n // 注册鼠标左击事件\n this.viewer.screenSpaceEventHandler.setInputAction(clickEvent => {\n let cartesian = this.viewer.scene.pickPosition(clickEvent.position); // 坐标\n // var cartesian = this.viewer.scene.globe.pick(this.viewer.camera.getPickRay(clickEvent.position), this.viewer.scene);\n // 存储第一个点\n if (!cartesian) {\n return false;\n }\n if (positions.length == 0) {\n positions.push(cartesian.clone());\n\n this.addPoint(cartesian);\n\n // 注册鼠标移动事件\n this.viewer.screenSpaceEventHandler.setInputAction(moveEvent => {\n let movePosition = this.viewer.scene.pickPosition(moveEvent.endPosition); // 鼠标移动的点\n // var movePosition = this.viewer.scene.globe.pick(this.viewer.camera.getPickRay(moveEvent.endPosition), this.viewer.scene);\n\n if (!movePosition) {\n return false;\n }\n if (positions.length == 2) {\n positions.pop();\n positions.push(movePosition);\n\n // 绘制label\n if (labelEntity) {\n this.viewer.entities.remove(labelEntity);\n this.entityCollection.splice(\n this.entityCollection.indexOf(labelEntity),\n 1,\n );\n }\n\n // 计算中点\n let centerPoint = Cartesian3.midpoint(\n positions[0],\n positions[1],\n new Cartesian3(),\n );\n // 计算距离\n let lengthText = '距离:' + this.getLengthText(positions[0], positions[1]);\n\n labelEntity = this.addLabel(centerPoint, lengthText);\n this.entityCollection.push(labelEntity);\n } else {\n positions.push(movePosition);\n\n // 绘制线\n this.addLine(positions);\n }\n }, ScreenSpaceEventType.MOUSE_MOVE);\n } else {\n // 存储第二个点\n positions.pop();\n positions.push(cartesian);\n this.addPoint(cartesian);\n this.addLine(positions);\n this.viewer.screenSpaceEventHandler.removeInputAction(\n ScreenSpaceEventType.LEFT_CLICK,\n );\n this.viewer.screenSpaceEventHandler.removeInputAction(\n ScreenSpaceEventType.MOUSE_MOVE,\n );\n if (callback) {\n callback();\n }\n }\n }, ScreenSpaceEventType.LEFT_CLICK);\n // this.viewer.screenSpaceEventHandler.setInputAction((clickEvent) => {\n\n // this.viewer.screenSpaceEventHandler.removeInputAction(ScreenSpaceEventType.RIGHT_CLICK);\n // }, ScreenSpaceEventType.RIGHT_CLICK);\n }\n\n /**\n * 测面积\n */\n measurePolygon(callback) {\n let positions = [];\n let clickStatus = false;\n let labelEntity = null;\n this.viewer.scene.globe.depthTestAgainstTerrain = false;\n\n this.viewer.screenSpaceEventHandler.setInputAction(clickEvent => {\n clickStatus = true;\n // var cartesian = this.viewer.scene.pickPosition(clickEvent.position);\n let cartesian = this.viewer.scene.globe.pick(\n this.viewer.camera.getPickRay(clickEvent.position),\n this.viewer.scene,\n );\n // console.log(cartesian);\n\n if (!cartesian) {\n return false;\n }\n if (positions.length == 0) {\n positions.push(cartesian.clone()); //鼠标左击 添加第1个点\n this.addPoint(cartesian);\n\n this.viewer.screenSpaceEventHandler.setInputAction(moveEvent => {\n // var movePosition = this.viewer.scene.pickPosition(moveEvent.endPosition);\n let movePosition = this.viewer.scene.globe.pick(\n this.viewer.camera.getPickRay(moveEvent.endPosition),\n this.viewer.scene,\n );\n // console.log(movePosition);\n if (!movePosition) {\n return false;\n }\n if (positions.length == 1) {\n positions.push(movePosition);\n this.addLine(positions);\n } else {\n if (clickStatus) {\n positions.push(movePosition);\n } else {\n positions.pop();\n positions.push(movePosition);\n }\n }\n\n if (positions.length >= 3) {\n // 绘制label\n if (labelEntity) {\n this.viewer.entities.remove(labelEntity);\n this.entityCollection.splice(\n this.entityCollection.indexOf(labelEntity),\n 1,\n );\n }\n\n let text = '面积:' + this.getArea(positions);\n let centerPoint = this.getCenterOfGravityPoint(positions);\n labelEntity = this.addLabel(centerPoint, text);\n\n this.entityCollection.push(labelEntity);\n }\n\n clickStatus = false;\n }, ScreenSpaceEventType.MOUSE_MOVE);\n } else if (positions.length == 2) {\n if (!cartesian) {\n return false;\n }\n positions.pop();\n positions.push(cartesian.clone()); // 鼠标左击 添加第2个点\n\n this.addPoint(cartesian);\n\n this.addPolyGon(positions);\n\n // 右击结束\n this.viewer.screenSpaceEventHandler.setInputAction(clickEvent => {\n // var clickPosition = this.viewer.scene.pickPosition(clickEvent.position);\n let clickPosition = this.viewer.scene.globe.pick(\n this.viewer.camera.getPickRay(clickEvent.position),\n this.viewer.scene,\n );\n // console.log(clickPosition);\n if (!clickPosition) {\n return false;\n }\n positions.pop();\n positions.push(clickPosition);\n positions.push(positions[0]); // 闭合\n this.addPoint(clickPosition);\n\n this.viewer.screenSpaceEventHandler.removeInputAction(\n ScreenSpaceEventType.LEFT_CLICK,\n );\n this.viewer.screenSpaceEventHandler.removeInputAction(\n ScreenSpaceEventType.MOUSE_MOVE,\n );\n this.viewer.screenSpaceEventHandler.removeInputAction(\n ScreenSpaceEventType.RIGHT_CLICK,\n );\n\n if (callback) {\n callback();\n }\n }, ScreenSpaceEventType.RIGHT_CLICK);\n } else if (positions.length >= 3) {\n if (!cartesian) {\n return false;\n }\n positions.pop();\n positions.push(cartesian.clone()); // 鼠标左击 添加第3个点\n this.addPoint(cartesian);\n }\n }, ScreenSpaceEventType.LEFT_CLICK);\n }\n\n /**\n * 测高\n */\n measureHeight(callback) {\n let positions = [];\n let labelEntity_1 = null; // 标签实体\n let labelEntity_2 = null; // 标签实体\n let labelEntity_3 = null; // 标签实体\n\n // 注册鼠标左击事件\n this.viewer.screenSpaceEventHandler.setInputAction(clickEvent => {\n let cartesian = this.viewer.scene.pickPosition(clickEvent.position); // 坐标\n //var cartesian = this.viewer.scene.globe.pick(this.viewer.camera.getPickRay(clickEvent.position), this.viewer.scene);\n\n // 存储第一个点\n\n if (positions.length == 0) {\n if (!cartesian) {\n return false;\n }\n positions.push(cartesian.clone());\n this.addPoint(cartesian);\n\n // 注册鼠标移动事件\n this.viewer.screenSpaceEventHandler.setInputAction(moveEvent => {\n let movePosition = this.viewer.scene.pickPosition(moveEvent.endPosition); // 鼠标移动的点\n //var movePosition = this.viewer.scene.globe.pick(this.viewer.camera.getPickRay(moveEvent.endPosition), this.viewer.scene);\n if (!movePosition) {\n return false;\n }\n if (positions.length >= 2) {\n positions.pop();\n positions.pop();\n positions.pop();\n\n let cartographic = Cartographic.fromCartesian(movePosition);\n let height = Cartographic.fromCartesian(positions[0]).height;\n\n const verticalPoint = Cartesian3.fromDegrees(\n Math.toDegrees(cartographic.longitude),\n Math.toDegrees(cartographic.latitude),\n height,\n );\n positions.push(verticalPoint);\n positions.push(movePosition);\n positions.push(positions[0]);\n\n // 绘制label\n if (labelEntity_1) {\n this.viewer.entities.remove(labelEntity_1);\n this.entityCollection.splice(\n this.entityCollection.indexOf(labelEntity_1),\n 1,\n );\n this.viewer.entities.remove(labelEntity_2);\n this.entityCollection.splice(\n this.entityCollection.indexOf(labelEntity_2),\n 1,\n );\n this.viewer.entities.remove(labelEntity_3);\n this.entityCollection.splice(\n this.entityCollection.indexOf(labelEntity_3),\n 1,\n );\n }\n\n // 计算中点\n let centerPoint_1 = Cartesian3.midpoint(\n positions[0],\n positions[1],\n new Cartesian3(),\n );\n // 计算距离\n let lengthText_1 =\n '水平距离:' + this.getLengthText(positions[0], positions[1]);\n\n labelEntity_1 = this.addLabel(centerPoint_1, lengthText_1);\n this.entityCollection.push(labelEntity_1);\n\n // 计算中点\n let centerPoint_2 = Cartesian3.midpoint(\n positions[1],\n positions[2],\n new Cartesian3(),\n );\n // 计算距离\n let lengthText_2 =\n '垂直距离:' + this.getLengthText(positions[1], positions[2]);\n\n labelEntity_2 = this.addLabel(centerPoint_2, lengthText_2);\n this.entityCollection.push(labelEntity_2);\n\n // 计算中点\n let centerPoint_3 = Cartesian3.midpoint(\n positions[2],\n positions[3],\n new Cartesian3(),\n );\n // 计算距离\n let lengthText_3 =\n '直线距离:' + this.getLengthText(positions[2], positions[3]);\n\n labelEntity_3 = this.addLabel(centerPoint_3, lengthText_3);\n this.entityCollection.push(labelEntity_3);\n } else {\n const verticalPoint = new Cartesian3(\n movePosition.x,\n movePosition.y,\n positions[0].z,\n );\n positions.push(verticalPoint);\n positions.push(movePosition);\n positions.push(positions[0]);\n // 绘制线\n this.addLine(positions);\n }\n }, ScreenSpaceEventType.MOUSE_MOVE);\n } else {\n // 存储第二个点\n positions.pop();\n positions.pop();\n positions.pop();\n let cartographic = Cartographic.fromCartesian(cartesian);\n let height = Cartographic.fromCartesian(positions[0]).height;\n\n let verticalPoint = Cartesian3.fromDegrees(\n Math.toDegrees(cartographic.longitude),\n Math.toDegrees(cartographic.latitude),\n height,\n );\n positions.push(verticalPoint);\n positions.push(cartesian);\n positions.push(positions[0]);\n this.addPoint(cartesian);\n this.viewer.screenSpaceEventHandler.removeInputAction(\n ScreenSpaceEventType.LEFT_CLICK,\n );\n this.viewer.screenSpaceEventHandler.removeInputAction(\n ScreenSpaceEventType.MOUSE_MOVE,\n );\n\n if (callback) {\n callback();\n }\n }\n }, ScreenSpaceEventType.LEFT_CLICK);\n }\n\n /**\n * 添加点\n * @param position\n */\n addPoint(position) {\n this.entityCollection.push(\n this.viewer.entities.add(\n new Entity({\n position: position,\n point: {\n color: Color.BLUE,\n pixelSize: 5,\n heightReference: HeightReference.NONE,\n },\n }),\n ),\n );\n }\n\n /**\n * 添加线\n * @param positions\n */\n addLine(positions) {\n let dynamicPositions = new CallbackProperty(() => {\n return positions;\n }, false);\n this.entityCollection.push(\n this.viewer.entities.add(\n new Entity({\n polyline: {\n positions: dynamicPositions,\n width: 2,\n arcType: ArcType.RHUMB,\n clampToGround: true,\n material: Color.RED, //获取或设置折线的表面外观\n heightReference: HeightReference.RELATIVE_TO_GROUND,\n },\n }),\n ),\n );\n }\n\n /**\n * 添加面\n * @param positions\n */\n addPolyGon(positions) {\n let dynamicPositions = new CallbackProperty(() => {\n return new PolygonHierarchy(positions);\n }, false);\n this.entityCollection.push(\n this.viewer.entities.add(\n new Entity({\n polygon: {\n hierarchy: dynamicPositions,\n material: Color.RED.withAlpha(0.6),\n classificationType: ClassificationType.BOTH, // 贴地表和贴模型,如果设置了,这不能使用挤出高度\n },\n }),\n ),\n );\n }\n\n /**\n * 添加标签\n * @param position\n * @param text\n */\n addLabel(centerPoint, text) {\n return this.viewer.entities.add(\n new Entity({\n position: centerPoint,\n label: {\n text: text,\n font: '14px sans-serif',\n style: LabelStyle.FILL_AND_OUTLINE, //FILL FILL_AND_OUTLINE OUTLINE\n fillColor: Color.YELLOW,\n showBackground: true, //指定标签后面背景的可见性\n backgroundColor: new Color(0.165, 0.165, 0.165, 0.8), // 背景颜色\n backgroundPadding: new Cartesian2(6, 6), //指定以像素为单位的水平和垂直背景填充padding\n pixelOffset: new Cartesian2(0, -25),\n disableDepthTestDistance: Number.POSITIVE_INFINITY,\n },\n }),\n );\n }\n\n /**\n * 计算两点距离\n * @param firstPoint\n * @param secondPoint\n */\n getLengthText(firstPoint, secondPoint) {\n // 计算距离\n let length = Cartesian3.distance(firstPoint, secondPoint);\n if (length > 1000) {\n length = (length / 1000).toFixed(2) + ' 公里';\n } else {\n length = length.toFixed(2) + ' 米';\n }\n return length;\n }\n\n getArea(points) {\n let ps = points.map(point => {\n let cartographic = Ellipsoid.WGS84.cartesianToCartographic(point);\n let height = this.viewer.scene.globe.getHeight(cartographic);\n return Cartesian3.fromDegrees(\n (cartographic.longitude / Math.PI) * 180,\n (cartographic.latitude / Math.PI) * 180,\n height,\n );\n });\n let s = 0;\n for (let i = 0; i < ps.length; i++) {\n let p1 = ps[i];\n let p2;\n if (i < ps.length - 1) p2 = ps[i + 1];\n else p2 = ps[0];\n s += p1.x * p2.y - p2.x * p1.y;\n }\n let res;\n\n if (s < 1000000) {\n res = Math.abs(s).toFixed(4) + ' 平方米';\n } else {\n res = Math.abs((s / 1000000.0).toFixed(4)) + ' 平方公里';\n }\n\n return res;\n }\n\n /**\n * 计算多边形的中心(简单的处理)\n * @param mPoints\n * @returns {*[]}\n */\n getCenterOfGravityPoint(mPoints) {\n let centerPoint = mPoints[0];\n for (let i = 1; i < mPoints.length; i++) {\n centerPoint = Cartesian3.midpoint(centerPoint, mPoints[i], new Cartesian3());\n }\n return centerPoint;\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+
3
+ 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); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _Measure = require("./Measure");
10
+ var _Modal = _interopRequireDefault(require("../../components/Modal"));
11
+ var _useProps2 = _interopRequireDefault(require("../../../use-props"));
12
+ var _antd = require("antd");
13
+ var _excluded = ["type", "active", "onClose"];
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
16
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
17
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
18
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
19
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
20
+ var title = {
21
+ MeasureDistance: '测距',
22
+ MeasureArea: '测面',
23
+ MeasureHeight: '测高'
24
+ };
25
+ var _default = exports["default"] = function _default(props) {
26
+ var _props$type = props.type,
27
+ type = _props$type === void 0 ? 'MeasureDistance' : _props$type,
28
+ active = props.active,
29
+ onClose = props.onClose,
30
+ rest = _objectWithoutProperties(props, _excluded);
31
+ var _useProps = (0, _useProps2["default"])(),
32
+ map = _useProps.map;
33
+ var measure = (0, _react.useRef)();
34
+ var startDraw = function startDraw() {
35
+ measure.current.destroy();
36
+ var func = {
37
+ MeasureDistance: 'measurePolyLine',
38
+ MeasureArea: 'measurePolygon',
39
+ MeasureHeight: 'measureHeight'
40
+ };
41
+ measure.current[func[type]]();
42
+ };
43
+ (0, _react.useEffect)(function () {
44
+ measure.current = new _Measure.Measure(map);
45
+ startDraw();
46
+ return function () {
47
+ measure.current.destroy();
48
+ };
49
+ }, [active]);
50
+ return /*#__PURE__*/_react["default"].createElement(_Modal["default"], _extends({
51
+ title: title[type],
52
+ onClose: onClose
53
+ }, rest), /*#__PURE__*/_react["default"].createElement(_antd.Space, null, /*#__PURE__*/_react["default"].createElement(_antd.Button, {
54
+ onClick: function onClick() {
55
+ return measure.current.destroy();
56
+ },
57
+ className: "cs-tools-btn"
58
+ }, "\u7ED3\u675F\u7ED8\u5236"), /*#__PURE__*/_react["default"].createElement(_antd.Button, {
59
+ onClick: startDraw,
60
+ className: "cs-tools-btn"
61
+ }, "\u91CD\u65B0\u7ED8\u5236")));
62
+ };
63
+ //# sourceMappingURL=index.js.map