@vtx/cs-map 1.0.146 → 1.0.148
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.
- package/README.md +202 -202
- package/lib/_util/EventEmitter.js.map +1 -1
- package/lib/_util/Provider.js.map +1 -1
- package/lib/_util/StyleCache.js.map +1 -1
- package/lib/_util/cesium.js +10 -10
- package/lib/_util/cesium.js.map +1 -1
- package/lib/_util/filterSpecialCharacters.js +6 -6
- package/lib/_util/filterSpecialCharacters.js.map +1 -1
- package/lib/_util/generateRandomPosition.js +5 -5
- package/lib/_util/generateRandomPosition.js.map +1 -1
- package/lib/_util/getBBoxFromGeojson.js +11 -11
- package/lib/_util/getBBoxFromGeojson.js.map +1 -1
- package/lib/_util/getComponentProps.js.map +1 -1
- package/lib/_util/getCookie.js +4 -4
- package/lib/_util/getCookie.js.map +1 -1
- package/lib/_util/getDefaultMapInfo.js.map +1 -1
- package/lib/_util/getSystemInfo.js.map +1 -1
- package/lib/_util/getToken.js.map +1 -1
- package/lib/_util/getUrlParam.js.map +1 -1
- package/lib/_util/heightAndZoom.js.map +1 -1
- package/lib/_util/http.js +18 -18
- package/lib/_util/http.js.map +1 -1
- package/lib/_util/isFunction.js.map +1 -1
- package/lib/_util/isObject.js.map +1 -1
- package/lib/_util/mapTool.js +34 -34
- package/lib/_util/mapTool.js.map +1 -1
- package/lib/_util/setCookie.js +4 -4
- package/lib/_util/setCookie.js.map +1 -1
- package/lib/_util/transformRgb.js.map +1 -1
- package/lib/_util/useColSize.js.map +1 -1
- package/lib/_util/useInterval.js.map +1 -1
- package/lib/_util/useProps.js.map +1 -1
- package/lib/_util/useSet.js.map +1 -1
- package/lib/building-tiles-layer/BuildingTilesLayer.js.map +1 -1
- package/lib/building-tiles-layer/style/css.js.map +1 -1
- package/lib/building-tiles-layer/style/index.js.map +1 -1
- package/lib/cesium-tiles-layer/demo/index.less +111 -111
- package/lib/cesium-tiles-layer/demo/putian/index.less +27 -27
- package/lib/cesium-tiles-layer/style/css.js.map +1 -1
- package/lib/cesium-tiles-layer/style/index.js.map +1 -1
- package/lib/circle/Circle.js.map +1 -1
- package/lib/circle/index.js.map +1 -1
- package/lib/circle-fly/index.js.map +1 -1
- package/lib/circle-fly/style/css.js.map +1 -1
- package/lib/circle-fly/style/index.js.map +1 -1
- package/lib/cone-glow-layer/BottomCircle.js.map +1 -1
- package/lib/cone-glow-layer/ButtomRotateCircle.js +8 -8
- package/lib/cone-glow-layer/ButtomRotateCircle.js.map +1 -1
- package/lib/cone-glow-layer/ConeGlowLayer.js.map +1 -1
- package/lib/cone-glow-layer/Texture.js.map +1 -1
- package/lib/config.js.map +1 -1
- package/lib/demand-layer/DemandLayer.js.map +1 -1
- package/lib/demand-layer/index.js.map +1 -1
- package/lib/demand-layer/style/css.js.map +1 -1
- package/lib/demand-layer/style/index.js.map +1 -1
- package/lib/dom/Dom.js.map +1 -1
- package/lib/events/index.js.map +1 -1
- package/lib/excavation-analysis/Cut.js +19 -19
- package/lib/excavation-analysis/Cut.js.map +1 -1
- package/lib/excavation-analysis/TilesetCut.js +5 -5
- package/lib/excavation-analysis/TilesetCut.js.map +1 -1
- package/lib/excavation-analysis/hooks/useDrawHandler.js.map +1 -1
- package/lib/excavation-analysis/hooks/useTerrainClipPlan.js.map +1 -1
- package/lib/excavation-analysis/hooks/useTileSetCut.js.map +1 -1
- package/lib/excavation-analysis/index.js.map +1 -1
- package/lib/excavation-analysis/style/css.js.map +1 -1
- package/lib/excavation-analysis/style/index.js.map +1 -1
- package/lib/feature-layer/style/css.js.map +1 -1
- package/lib/feature-layer/style/index.js.map +1 -1
- package/lib/fence-layer/FenceLayer.js.map +1 -1
- package/lib/fence-layer/GradualLightRingMaterialProperty.js +5 -5
- package/lib/fence-layer/GradualLightRingMaterialProperty.js.map +1 -1
- package/lib/fence-layer/index.js.map +1 -1
- package/lib/fence-layer/style/css.js.map +1 -1
- package/lib/fence-layer/style/index.js.map +1 -1
- package/lib/flight-line-layer/FlightLineLayer.js.map +1 -1
- package/lib/flight-line-layer/index.js.map +1 -1
- package/lib/flight-line-layer/style/css.js.map +1 -1
- package/lib/flight-line-layer/style/index.js.map +1 -1
- package/lib/fly-line-layer/FlyLineLayer.js.map +1 -1
- package/lib/fly-line-layer/LineFlowMaterialProperty.js.map +1 -1
- package/lib/fly-line-layer/index.js.map +1 -1
- package/lib/fly-line-layer/style/css.js.map +1 -1
- package/lib/fly-line-layer/style/index.js.map +1 -1
- package/lib/gif-dom-layer/GifDomLayer.js.map +1 -1
- package/lib/gif-dom-layer/index.js.map +1 -1
- package/lib/gif-dom-layer/style/css.js.map +1 -1
- package/lib/gif-dom-layer/style/index.js.map +1 -1
- package/lib/gradation-line-layer/GradationLineLayer.js.map +1 -1
- package/lib/gradation-line-layer/index.js.map +1 -1
- package/lib/gradation-line-layer/style/css.js.map +1 -1
- package/lib/gradation-line-layer/style/index.js.map +1 -1
- package/lib/group-layer/GroupLayer.js.map +1 -1
- package/lib/group-layer/index.js.map +1 -1
- package/lib/group-layer/style/css.js.map +1 -1
- package/lib/group-layer/style/index.js.map +1 -1
- package/lib/heatmap-layer/HeatmapLayer.js.map +1 -1
- package/lib/heatmap-layer/heatmap.js +41 -41
- package/lib/heatmap-layer/heatmap.js.map +1 -1
- package/lib/heatmap-layer/index.js.map +1 -1
- package/lib/heatmap-layer/style/css.js.map +1 -1
- package/lib/heatmap-layer/style/index.js.map +1 -1
- package/lib/highlight-layer/HighlightLayer.js +6 -6
- package/lib/highlight-layer/HighlightLayer.js.map +1 -1
- package/lib/highlight-layer/index.js.map +1 -1
- package/lib/highlight-layer/style/css.js.map +1 -1
- package/lib/highlight-layer/style/index.js.map +1 -1
- package/lib/image-layer/style/css.js.map +1 -1
- package/lib/image-layer/style/index.js.map +1 -1
- package/lib/image-wms-layer/ImageWmsLayer.js.map +1 -1
- package/lib/image-wms-layer/style/css.js.map +1 -1
- package/lib/image-wms-layer/style/index.js.map +1 -1
- package/lib/inundate-analysis/index.js.map +1 -1
- package/lib/inundate-analysis/style/css.js.map +1 -1
- package/lib/inundate-analysis/style/index.js.map +1 -1
- package/lib/label/Label.js.map +1 -1
- package/lib/label/index.js.map +1 -1
- package/lib/legend/index.js.map +1 -1
- package/lib/legend/style/css.js.map +1 -1
- package/lib/legend/style/index.js.map +1 -1
- package/lib/legend/style/index.less +74 -74
- package/lib/line-flow-layer/index.js.map +1 -1
- package/lib/line-flow-layer/style/css.js.map +1 -1
- package/lib/line-flow-layer/style/index.js.map +1 -1
- package/lib/map/InfoTool/index.js +43 -43
- package/lib/map/InfoTool/index.js.map +1 -1
- package/lib/map/InfoTool/index.less +46 -46
- package/lib/map/InfoTool/util.js +23 -23
- package/lib/map/InfoTool/util.js.map +1 -1
- package/lib/map/InfoWindow.js.map +1 -1
- package/lib/map/Layers.js.map +1 -1
- package/lib/map/Popup.js +10 -8
- package/lib/map/Popup.js.map +1 -1
- package/lib/map/base/imagery/amap/AmapImageryProvider.js.map +1 -1
- package/lib/map/base/imagery/amap/AmapMercatorTilingScheme.js.map +1 -1
- package/lib/map/base/imagery/baidu/BaiduMercatorProjection.js +77 -77
- package/lib/map/base/imagery/baidu/BaiduMercatorProjection.js.map +1 -1
- package/lib/map/base/imagery/baidu/BaiduMercatorTilingScheme.js +13 -13
- package/lib/map/base/imagery/baidu/BaiduMercatorTilingScheme.js.map +1 -1
- package/lib/map/base/imagery/geoq/GeoQImageryProvider.js.map +1 -1
- package/lib/map/base/imagery/irs/IRSImageryProvider.js.map +1 -1
- package/lib/map/base/imagery/tencent/TencentImageryProvider.js.map +1 -1
- package/lib/map/base/imagery/transform/AmapMercatorTilingScheme.js.map +1 -1
- package/lib/map/base/imagery/transform/CoordTransform.js +42 -42
- package/lib/map/base/imagery/transform/CoordTransform.js.map +1 -1
- package/lib/map/base/index.js +86 -84
- package/lib/map/base/index.js.map +1 -1
- package/lib/map/defaultTextEnum.js +46 -0
- package/lib/map/defaultTextEnum.js.map +1 -0
- package/lib/map/hooks/useGetMapFeatureInfoByText.js.map +1 -1
- package/lib/map/index.js +19 -11
- package/lib/map/index.js.map +1 -1
- package/lib/map/material/AroundPoint.js.map +1 -1
- package/lib/map/material/CircleRippleMaterialProperty.js +5 -5
- package/lib/map/material/CircleRippleMaterialProperty.js.map +1 -1
- package/lib/map/material/ODLineLayer.js.map +1 -1
- package/lib/map/material/PolylineTrailLinkMaterialProperty.js.map +1 -1
- package/lib/map/material/PolylineTrailMaterialProperty.js.map +1 -1
- package/lib/map/material/TilesBuilding.js.map +1 -1
- package/lib/map/material/index.js.map +1 -1
- package/lib/marker/Marker.js.map +1 -1
- package/lib/marker/index.js.map +1 -1
- package/lib/model/Model.js.map +1 -1
- package/lib/model/index.js.map +1 -1
- package/lib/navigation/index.js.map +1 -1
- package/lib/navigation/style/css.js.map +1 -1
- package/lib/navigation/style/index.js.map +1 -1
- package/lib/navigation/style/index.less +176 -176
- package/lib/pipe-tiles-layer/PipeTilesLayer.js.map +1 -1
- package/lib/pipe-tiles-layer/index.js.map +1 -1
- package/lib/pipe-tiles-layer/style/css.js.map +1 -1
- package/lib/pipe-tiles-layer/style/index.js.map +1 -1
- package/lib/point/Point.js.map +1 -1
- package/lib/point/index.js.map +1 -1
- package/lib/polygon/Polygon.js.map +1 -1
- package/lib/polygon/index.js.map +1 -1
- package/lib/polyline/Polyline.js.map +1 -1
- package/lib/renderer/index.js +15 -15
- package/lib/renderer/index.js.map +1 -1
- package/lib/renderer/style/css.js.map +1 -1
- package/lib/renderer/style/index.js.map +1 -1
- package/lib/road-line-layer/index.js.map +1 -1
- package/lib/road-line-layer/style/css.js.map +1 -1
- package/lib/road-line-layer/style/index.js.map +1 -1
- package/lib/scene-roam/index.js.map +1 -1
- package/lib/scene-roam/style/css.js.map +1 -1
- package/lib/scene-roam/style/index.js.map +1 -1
- package/lib/slider-scene/index.js.map +1 -1
- package/lib/slider-scene/style/css.js.map +1 -1
- package/lib/slider-scene/style/index.js.map +1 -1
- package/lib/slider-scene/style/index.less +13 -13
- package/lib/split-screen/index.js.map +1 -1
- package/lib/style/index.less +2 -2
- package/lib/style/themes/compact.less +1 -1
- package/lib/style/themes/dark.less +9 -9
- package/lib/style/themes/default.less +7 -7
- package/lib/style/themes/index.less +1 -1
- package/lib/style/themes/variable.less +5 -5
- package/lib/three-line-layer/style/css.js.map +1 -1
- package/lib/three-line-layer/style/index.js.map +1 -1
- package/lib/three-point-layer/DiffuseCircle.js.map +1 -1
- package/lib/three-point-layer/Grate.js +90 -90
- package/lib/three-point-layer/Grate.js.map +1 -1
- package/lib/three-point-layer/ThreePointLayer.js.map +1 -1
- package/lib/three-point-layer/Well.js +63 -63
- package/lib/three-point-layer/Well.js.map +1 -1
- package/lib/three-point-layer/index.js.map +1 -1
- package/lib/three-point-layer/style/css.js.map +1 -1
- package/lib/three-point-layer/style/index.js.map +1 -1
- package/lib/tools/base-map-switch/index.js +3 -2
- package/lib/tools/base-map-switch/index.js.map +1 -1
- package/lib/tools/components/Icon/index.js.map +1 -1
- package/lib/tools/components/Icon/svg.js.map +1 -1
- package/lib/tools/components/Modal/index.js +2 -2
- package/lib/tools/components/Modal/index.js.map +1 -1
- package/lib/tools/components/Modal/index.less +33 -33
- package/lib/tools/components/item-wrap/index.js.map +1 -1
- package/lib/tools/components/tool-Item/index.js.map +1 -1
- package/lib/tools/components/tool-Item/index.less +27 -27
- package/lib/tools/dimension-switch/index.js.map +1 -1
- package/lib/tools/index.js.map +1 -1
- package/lib/tools/layer-control/index.js +3 -2
- package/lib/tools/layer-control/index.js.map +1 -1
- package/lib/tools/layer-control-popover/LayersCheckService.js.map +1 -1
- package/lib/tools/layer-control-popover/index.js +2 -2
- package/lib/tools/layer-control-popover/index.js.map +1 -1
- package/lib/tools/loading/index.js.map +1 -1
- package/lib/tools/map-search/Select/index.js +5 -5
- package/lib/tools/map-search/Select/index.js.map +1 -1
- package/lib/tools/map-search/Select/style/css.js.map +1 -1
- package/lib/tools/map-search/Select/style/index.js.map +1 -1
- package/lib/tools/map-search/Select/style/index.less +47 -47
- package/lib/tools/map-search/index.js +9 -8
- package/lib/tools/map-search/index.js.map +1 -1
- package/lib/tools/style/css.js.map +1 -1
- package/lib/tools/style/index.js.map +1 -1
- package/lib/tools/style/index.less +309 -309
- package/lib/tools/tip/index.js.map +1 -1
- package/lib/tools/tool-box/Measure/Area/index.js.map +1 -1
- package/lib/tools/tool-box/Measure/Distance/index.js.map +1 -1
- package/lib/tools/tool-box/Measure/Height/index.js.map +1 -1
- package/lib/tools/tool-box/Measure/Measure.js +41 -39
- package/lib/tools/tool-box/Measure/Measure.js.map +1 -1
- package/lib/tools/tool-box/Measure/index.js +12 -9
- package/lib/tools/tool-box/Measure/index.js.map +1 -1
- package/lib/tools/tool-box/index.js +14 -13
- package/lib/tools/tool-box/index.js.map +1 -1
- package/lib/trail-polyline-layer/TrailPolylineLayer.js.map +1 -1
- package/lib/trail-polyline-layer/TrailPolylineMaterial.js.map +1 -1
- package/lib/trail-polyline-layer/style/css.js.map +1 -1
- package/lib/trail-polyline-layer/style/index.js.map +1 -1
- package/lib/use-props/index.js.map +1 -1
- package/lib/wall/WallGeometry.js.map +1 -1
- package/lib/wall/style/css.js.map +1 -1
- package/lib/wall/style/index.js.map +1 -1
- package/lib/water-surface-layer/WaterSurfaceLayer.js.map +1 -1
- package/lib/water-surface-layer/index.js.map +1 -1
- package/lib/water-surface-layer/style/css.js.map +1 -1
- package/lib/water-surface-layer/style/index.js.map +1 -1
- package/lib/weather/Weather.js +28 -28
- package/lib/weather/Weather.js.map +1 -1
- package/lib/weather/index.js.map +1 -1
- package/lib/weather/style/css.js.map +1 -1
- package/lib/weather/style/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -17,11 +17,12 @@ function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o =
|
|
|
17
17
|
function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
|
|
18
18
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
19
19
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
20
|
-
/**
|
|
21
|
-
* 测量
|
|
20
|
+
/**
|
|
21
|
+
* 测量
|
|
22
22
|
*/
|
|
23
23
|
var Measure = exports.Measure = /*#__PURE__*/function () {
|
|
24
24
|
function Measure(viewer) {
|
|
25
|
+
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
25
26
|
_classCallCheck(this, Measure);
|
|
26
27
|
this.viewer = viewer;
|
|
27
28
|
this.entityCollection = [];
|
|
@@ -32,6 +33,7 @@ var Measure = exports.Measure = /*#__PURE__*/function () {
|
|
|
32
33
|
this.totalEntityCollection = [];
|
|
33
34
|
this.clearLast = true;
|
|
34
35
|
this.labelVisible = true;
|
|
36
|
+
this.TextEnum = options.TextEnum;
|
|
35
37
|
}
|
|
36
38
|
|
|
37
39
|
// var this.entityCollection = [];
|
|
@@ -58,8 +60,8 @@ var Measure = exports.Measure = /*#__PURE__*/function () {
|
|
|
58
60
|
this.totalEntityCollection = [];
|
|
59
61
|
}
|
|
60
62
|
|
|
61
|
-
/**
|
|
62
|
-
* 清除
|
|
63
|
+
/**
|
|
64
|
+
* 清除
|
|
63
65
|
*/
|
|
64
66
|
}, {
|
|
65
67
|
key: "destroy",
|
|
@@ -100,13 +102,13 @@ var Measure = exports.Measure = /*#__PURE__*/function () {
|
|
|
100
102
|
if (!this.startDraw) {
|
|
101
103
|
this.removeStartTip();
|
|
102
104
|
// 计算距离
|
|
103
|
-
var lengthText =
|
|
105
|
+
var lengthText = this.TextEnum.messureStartTipText;
|
|
104
106
|
this.startTipEntity = this.addLabel(movePosition, lengthText);
|
|
105
107
|
}
|
|
106
108
|
}
|
|
107
109
|
|
|
108
|
-
/**
|
|
109
|
-
* 测距
|
|
110
|
+
/**
|
|
111
|
+
* 测距
|
|
110
112
|
*/
|
|
111
113
|
}, {
|
|
112
114
|
key: "measurePolyLine",
|
|
@@ -147,10 +149,10 @@ var Measure = exports.Measure = /*#__PURE__*/function () {
|
|
|
147
149
|
totalLength += Number(_this2.getLengthText(positions[0], positions[1]));
|
|
148
150
|
});
|
|
149
151
|
// 计算距离
|
|
150
|
-
var lengthText =
|
|
152
|
+
var lengthText = "".concat(_this2.TextEnum.distanceText, "\uFF1A") + currentLength + 'km';
|
|
151
153
|
labelEntity = _this2.addLabel(centerPoint, lengthText);
|
|
152
154
|
labelEntity.show = _this2.labelVisible;
|
|
153
|
-
totalLabelEntity = _this2.addLabel(movePosition,
|
|
155
|
+
totalLabelEntity = _this2.addLabel(movePosition, "".concat(_this2.TextEnum.totalDistanceText, "\uFF1A") + totalLength.toFixed(2) + 'km');
|
|
154
156
|
_this2.labelEntityCollection.push(labelEntity);
|
|
155
157
|
_this2.totalEntityCollection.push(totalLabelEntity);
|
|
156
158
|
} else {
|
|
@@ -208,8 +210,8 @@ var Measure = exports.Measure = /*#__PURE__*/function () {
|
|
|
208
210
|
}, _cesium.ScreenSpaceEventType.LEFT_DOUBLE_CLICK);
|
|
209
211
|
}
|
|
210
212
|
|
|
211
|
-
/**
|
|
212
|
-
* 测面积
|
|
213
|
+
/**
|
|
214
|
+
* 测面积
|
|
213
215
|
*/
|
|
214
216
|
}, {
|
|
215
217
|
key: "measurePolygon",
|
|
@@ -248,7 +250,7 @@ var Measure = exports.Measure = /*#__PURE__*/function () {
|
|
|
248
250
|
_this3.viewer.entities.remove(totalLabelEntity);
|
|
249
251
|
_this3.totalEntityCollection.splice(_this3.totalEntityCollection.indexOf(totalLabelEntity), 1);
|
|
250
252
|
}
|
|
251
|
-
var text =
|
|
253
|
+
var text = "".concat(_this3.TextEnum.areaText, "\uFF1A") + _this3.getArea(positions) + 'km²';
|
|
252
254
|
var centerPoint = _this3.getCenterOfGravityPoint(positions);
|
|
253
255
|
totalLabelEntity = _this3.addLabel(centerPoint, text);
|
|
254
256
|
_this3.totalEntityCollection.push(totalLabelEntity);
|
|
@@ -267,7 +269,7 @@ var Measure = exports.Measure = /*#__PURE__*/function () {
|
|
|
267
269
|
var centerPoint = _cesium.Cartesian3.midpoint(position, prevPosition, new _cesium.Cartesian3());
|
|
268
270
|
var currentLength = _this3.getLengthText(position, prevPosition);
|
|
269
271
|
// 计算距离
|
|
270
|
-
var lengthText =
|
|
272
|
+
var lengthText = "".concat(_this3.TextEnum.distanceText, "\uFF1A") + currentLength + 'km';
|
|
271
273
|
var labelEntity = _this3.addLabel(centerPoint, lengthText);
|
|
272
274
|
labelEntity.show = _this3.labelVisible;
|
|
273
275
|
labelEntityCollection.push(labelEntity);
|
|
@@ -337,8 +339,8 @@ var Measure = exports.Measure = /*#__PURE__*/function () {
|
|
|
337
339
|
}, _cesium.ScreenSpaceEventType.LEFT_CLICK);
|
|
338
340
|
}
|
|
339
341
|
|
|
340
|
-
/**
|
|
341
|
-
* 测高
|
|
342
|
+
/**
|
|
343
|
+
* 测高
|
|
342
344
|
*/
|
|
343
345
|
}, {
|
|
344
346
|
key: "measureHeight",
|
|
@@ -394,21 +396,21 @@ var Measure = exports.Measure = /*#__PURE__*/function () {
|
|
|
394
396
|
// 计算中点
|
|
395
397
|
var centerPoint_1 = _cesium.Cartesian3.midpoint(positions[0], positions[1], new _cesium.Cartesian3());
|
|
396
398
|
// 计算距离
|
|
397
|
-
var lengthText_1 =
|
|
399
|
+
var lengthText_1 = "".concat(_this4.TextEnum.horizontalDistanceText, "\uFF1A") + _this4.getLengthText(positions[0], positions[1]);
|
|
398
400
|
labelEntity_1 = _this4.addLabel(centerPoint_1, lengthText_1);
|
|
399
401
|
_this4.entityCollection.push(labelEntity_1);
|
|
400
402
|
|
|
401
403
|
// 计算中点
|
|
402
404
|
var centerPoint_2 = _cesium.Cartesian3.midpoint(positions[1], positions[2], new _cesium.Cartesian3());
|
|
403
405
|
// 计算距离
|
|
404
|
-
var lengthText_2 =
|
|
406
|
+
var lengthText_2 = "".concat(_this4.TextEnum.verticalDistanceText, "\uFF1A") + _this4.getLengthText(positions[1], positions[2]);
|
|
405
407
|
labelEntity_2 = _this4.addLabel(centerPoint_2, lengthText_2);
|
|
406
408
|
_this4.entityCollection.push(labelEntity_2);
|
|
407
409
|
|
|
408
410
|
// 计算中点
|
|
409
411
|
var centerPoint_3 = _cesium.Cartesian3.midpoint(positions[2], positions[3], new _cesium.Cartesian3());
|
|
410
412
|
// 计算距离
|
|
411
|
-
var lengthText_3 =
|
|
413
|
+
var lengthText_3 = "".concat(_this4.TextEnum.straightLineDistanceText, "\uFF1A") + _this4.getLengthText(positions[2], positions[3]);
|
|
412
414
|
labelEntity_3 = _this4.addLabel(centerPoint_3, lengthText_3);
|
|
413
415
|
_this4.entityCollection.push(labelEntity_3);
|
|
414
416
|
} else {
|
|
@@ -441,9 +443,9 @@ var Measure = exports.Measure = /*#__PURE__*/function () {
|
|
|
441
443
|
}, _cesium.ScreenSpaceEventType.LEFT_CLICK);
|
|
442
444
|
}
|
|
443
445
|
|
|
444
|
-
/**
|
|
445
|
-
* 添加点
|
|
446
|
-
* @param position
|
|
446
|
+
/**
|
|
447
|
+
* 添加点
|
|
448
|
+
* @param position
|
|
447
449
|
*/
|
|
448
450
|
}, {
|
|
449
451
|
key: "addPoint",
|
|
@@ -459,9 +461,9 @@ var Measure = exports.Measure = /*#__PURE__*/function () {
|
|
|
459
461
|
})));
|
|
460
462
|
}
|
|
461
463
|
|
|
462
|
-
/**
|
|
463
|
-
* 添加线
|
|
464
|
-
* @param positions
|
|
464
|
+
/**
|
|
465
|
+
* 添加线
|
|
466
|
+
* @param positions
|
|
465
467
|
*/
|
|
466
468
|
}, {
|
|
467
469
|
key: "addLine",
|
|
@@ -483,9 +485,9 @@ var Measure = exports.Measure = /*#__PURE__*/function () {
|
|
|
483
485
|
})));
|
|
484
486
|
}
|
|
485
487
|
|
|
486
|
-
/**
|
|
487
|
-
* 添加面
|
|
488
|
-
* @param positions
|
|
488
|
+
/**
|
|
489
|
+
* 添加面
|
|
490
|
+
* @param positions
|
|
489
491
|
*/
|
|
490
492
|
}, {
|
|
491
493
|
key: "addPolyGon",
|
|
@@ -503,10 +505,10 @@ var Measure = exports.Measure = /*#__PURE__*/function () {
|
|
|
503
505
|
})));
|
|
504
506
|
}
|
|
505
507
|
|
|
506
|
-
/**
|
|
507
|
-
* 添加标签
|
|
508
|
-
* @param position
|
|
509
|
-
* @param text
|
|
508
|
+
/**
|
|
509
|
+
* 添加标签
|
|
510
|
+
* @param position
|
|
511
|
+
* @param text
|
|
510
512
|
*/
|
|
511
513
|
}, {
|
|
512
514
|
key: "addLabel",
|
|
@@ -532,10 +534,10 @@ var Measure = exports.Measure = /*#__PURE__*/function () {
|
|
|
532
534
|
}));
|
|
533
535
|
}
|
|
534
536
|
|
|
535
|
-
/**
|
|
536
|
-
* 计算两点距离
|
|
537
|
-
* @param firstPoint
|
|
538
|
-
* @param secondPoint
|
|
537
|
+
/**
|
|
538
|
+
* 计算两点距离
|
|
539
|
+
* @param firstPoint
|
|
540
|
+
* @param secondPoint
|
|
539
541
|
*/
|
|
540
542
|
}, {
|
|
541
543
|
key: "getLengthText",
|
|
@@ -563,10 +565,10 @@ var Measure = exports.Measure = /*#__PURE__*/function () {
|
|
|
563
565
|
return Math.abs((s / 1000000.0).toFixed(4));
|
|
564
566
|
}
|
|
565
567
|
|
|
566
|
-
/**
|
|
567
|
-
* 计算多边形的中心(简单的处理)
|
|
568
|
-
* @param mPoints
|
|
569
|
-
* @returns {*[]}
|
|
568
|
+
/**
|
|
569
|
+
* 计算多边形的中心(简单的处理)
|
|
570
|
+
* @param mPoints
|
|
571
|
+
* @returns {*[]}
|
|
570
572
|
*/
|
|
571
573
|
}, {
|
|
572
574
|
key: "getCenterOfGravityPoint",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Measure.js","names":["_cesium","require","_typeof","o","Symbol","iterator","constructor","prototype","_toConsumableArray","r","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","a","_arrayLikeToArray","t","toString","call","slice","name","Array","from","test","isArray","length","e","n","_classCallCheck","_defineProperties","enumerable","configurable","writable","Object","defineProperty","_toPropertyKey","key","_createClass","i","_toPrimitive","toPrimitive","String","Number","Measure","exports","viewer","entityCollection","scene","globe","depthTestAgainstTerrain","startDraw","startTipEntity","labelEntityCollection","totalEntityCollection","clearLast","labelVisible","value","getCollection","clear","_this","forEach","entity","entities","remove","destroy","callback","screenSpaceEventHandler","removeInputAction","ScreenSpaceEventType","LEFT_CLICK","MOUSE_MOVE","RIGHT_CLICK","LEFT_DOUBLE_CLICK","cancelBubble","visibleLabelEntity","visible","show","removeStartTip","startDrawTip","movePosition","lengthText","addLabel","measurePolyLine","_this2","positions","labelEntity","totalLabelEntity","positionsList","setInputAction","moveEvent","pickPosition","endPosition","pop","push","splice","indexOf","centerPoint","Cartesian3","midpoint","currentLength","getLengthText","totalLength","toFixed","addLine","clickEvent","cartesian","position","clone","addPoint","measurePolygon","_this3","clickStatus","pick","camera","getPickRay","text","getArea","getCenterOfGravityPoint","_this3$labelEntityCol","index","prevPosition","apply","addPolyGon","clickPosition","measureHeight","_this4","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","cancelPopup","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","points","_this5","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 this.startDraw = false;\n this.startTipEntity = null;\n this.labelEntityCollection = [];\n this.totalEntityCollection = [];\n this.clearLast = true;\n this.labelVisible = true;\n }\n\n // var this.entityCollection = [];\n\n getCollection() {\n return this.entityCollection;\n }\n\n clear() {\n this.entityCollection.forEach(entity => {\n this.viewer.entities.remove(entity);\n });\n this.labelEntityCollection.forEach(entity => {\n this.viewer.entities.remove(entity);\n });\n this.totalEntityCollection.forEach(entity => {\n this.viewer.entities.remove(entity);\n });\n this.entityCollection = [];\n this.labelEntityCollection = [];\n this.totalEntityCollection = [];\n }\n\n /**\n * 清除\n */\n destroy(callback) {\n if (this.startTipEntity) {\n this.viewer.entities.remove(this.startTipEntity);\n }\n this.entityCollection;\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.viewer.screenSpaceEventHandler.removeInputAction(\n ScreenSpaceEventType.LEFT_DOUBLE_CLICK,\n );\n this.viewer.cancelBubble = false;\n this.startDraw = false;\n this.clear();\n if (callback) {\n callback();\n }\n }\n\n visibleLabelEntity(visible) {\n this.labelEntityCollection.forEach(entity => {\n entity.show = visible;\n });\n this.labelVisible = visible;\n }\n\n removeStartTip() {\n if (this.startTipEntity) {\n this.viewer.entities.remove(this.startTipEntity);\n }\n }\n\n startDrawTip(movePosition) {\n if (!this.startDraw) {\n this.removeStartTip();\n // 计算距离\n let lengthText = '鼠标单击开始绘制';\n\n this.startTipEntity = this.addLabel(movePosition, lengthText);\n }\n }\n\n /**\n * 测距\n */\n measurePolyLine(callback) {\n let positions = [];\n let labelEntity = null; // 标签实体\n let totalLabelEntity = null;\n let positionsList = [];\n this.viewer.cancelBubble = true;\n this.startDrawTip();\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 this.startDrawTip(movePosition);\n if (this.startDraw) {\n if (positions.length == 2) {\n positions.pop();\n positions.push(movePosition);\n // 绘制label\n if (labelEntity) {\n this.viewer.entities.remove(labelEntity);\n this.labelEntityCollection.splice(\n this.labelEntityCollection.indexOf(labelEntity),\n 1,\n );\n }\n if (totalLabelEntity) {\n this.viewer.entities.remove(totalLabelEntity);\n this.totalEntityCollection.splice(\n this.totalEntityCollection.indexOf(totalLabelEntity),\n 1,\n );\n }\n // 计算中点\n let centerPoint = Cartesian3.midpoint(\n positions[0],\n positions[1],\n new Cartesian3(),\n );\n const currentLength = this.getLengthText(positions[0], positions[1]);\n let totalLength = Number(currentLength);\n positionsList.forEach(positions => {\n totalLength += Number(this.getLengthText(positions[0], positions[1]));\n });\n // 计算距离\n let lengthText = '距离:' + currentLength + 'km';\n\n labelEntity = this.addLabel(centerPoint, lengthText);\n labelEntity.show = this.labelVisible;\n totalLabelEntity = this.addLabel(\n movePosition,\n '总距离:' + totalLength.toFixed(2) + 'km',\n );\n this.labelEntityCollection.push(labelEntity);\n this.totalEntityCollection.push(totalLabelEntity);\n } else {\n positions.push(movePosition);\n\n // 绘制线\n this.addLine(positions);\n }\n }\n }, ScreenSpaceEventType.MOUSE_MOVE);\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 (!this.startDraw) {\n if (this.clearLast) {\n this.clear();\n }\n this.startDraw = true;\n }\n this.removeStartTip();\n if (positions.length == 0) {\n positions.push(cartesian.clone());\n\n this.addPoint(cartesian);\n // 注册鼠标移动事件\n } else {\n // 存储第二个点\n positions.pop();\n positions.push(cartesian);\n this.addPoint(cartesian);\n this.addLine([...positions]);\n positionsList.push([...positions]);\n positions = [cartesian];\n this.viewer.cancelBubble = false;\n labelEntity = null;\n totalLabelEntity = null;\n if (callback) {\n callback();\n }\n }\n }, ScreenSpaceEventType.LEFT_CLICK);\n this.viewer.screenSpaceEventHandler.setInputAction(() => {\n this.startDraw = false;\n positions = [];\n positionsList = [];\n labelEntity = null;\n totalLabelEntity = null;\n if (callback) {\n callback();\n }\n }, ScreenSpaceEventType.LEFT_DOUBLE_CLICK);\n }\n\n /**\n * 测面积\n */\n measurePolygon(callback) {\n let positions = [];\n let clickStatus = false;\n let labelEntityCollection = [];\n let totalLabelEntity = null;\n this.viewer.scene.globe.depthTestAgainstTerrain = false;\n this.viewer.cancelBubble = true;\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 (!this.startDraw) {\n return this.startDrawTip(movePosition);\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 (totalLabelEntity) {\n this.viewer.entities.remove(totalLabelEntity);\n this.totalEntityCollection.splice(\n this.totalEntityCollection.indexOf(totalLabelEntity),\n 1,\n );\n }\n\n let text = '面积:' + this.getArea(positions) + 'km²';\n let centerPoint = this.getCenterOfGravityPoint(positions);\n totalLabelEntity = this.addLabel(centerPoint, text);\n\n this.totalEntityCollection.push(totalLabelEntity);\n }\n if (positions.length >= 2) {\n labelEntityCollection.forEach(entity => {\n this.viewer.entities.remove(entity);\n this.labelEntityCollection.splice(\n this.labelEntityCollection.indexOf(entity),\n 1,\n );\n });\n positions.forEach((position, index) => {\n if (index === positions.length - 1) {\n return;\n }\n const prevPosition = positions[index + 1];\n let centerPoint = Cartesian3.midpoint(position, prevPosition, new Cartesian3());\n const currentLength = this.getLengthText(position, prevPosition);\n // 计算距离\n let lengthText = '距离:' + currentLength + 'km';\n\n const labelEntity = this.addLabel(centerPoint, lengthText);\n labelEntity.show = this.labelVisible;\n labelEntityCollection.push(labelEntity);\n });\n this.labelEntityCollection.push(...labelEntityCollection);\n }\n\n clickStatus = false;\n }, ScreenSpaceEventType.MOUSE_MOVE);\n this.viewer.screenSpaceEventHandler.setInputAction(clickEvent => {\n clickStatus = true;\n if (!this.startDraw) {\n this.startDraw = true;\n if (this.clearLast) {\n this.clear();\n }\n }\n\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 } 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 positions = [];\n this.viewer.cancelBubble = false;\n this.startDraw = false;\n totalLabelEntity = null;\n labelEntityCollection = [];\n if (callback) {\n callback();\n }\n }, ScreenSpaceEventType.LEFT_DOUBLE_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 cancelPopup: true,\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 cancelPopup: true,\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 cancelPopup: true,\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 cancelPopup: true,\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 return (length / 1000).toFixed(2);\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\n return Math.abs((s / 1000000.0).toFixed(4));\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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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Measure.js","names":["_cesium","require","_typeof","o","Symbol","iterator","constructor","prototype","_toConsumableArray","r","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","a","_arrayLikeToArray","t","toString","call","slice","name","Array","from","test","isArray","length","e","n","_classCallCheck","_defineProperties","enumerable","configurable","writable","Object","defineProperty","_toPropertyKey","key","_createClass","i","_toPrimitive","toPrimitive","String","Number","Measure","exports","viewer","options","arguments","undefined","entityCollection","scene","globe","depthTestAgainstTerrain","startDraw","startTipEntity","labelEntityCollection","totalEntityCollection","clearLast","labelVisible","TextEnum","value","getCollection","clear","_this","forEach","entity","entities","remove","destroy","callback","screenSpaceEventHandler","removeInputAction","ScreenSpaceEventType","LEFT_CLICK","MOUSE_MOVE","RIGHT_CLICK","LEFT_DOUBLE_CLICK","cancelBubble","visibleLabelEntity","visible","show","removeStartTip","startDrawTip","movePosition","lengthText","messureStartTipText","addLabel","measurePolyLine","_this2","positions","labelEntity","totalLabelEntity","positionsList","setInputAction","moveEvent","pickPosition","endPosition","pop","push","splice","indexOf","centerPoint","Cartesian3","midpoint","currentLength","getLengthText","totalLength","concat","distanceText","totalDistanceText","toFixed","addLine","clickEvent","cartesian","position","clone","addPoint","measurePolygon","_this3","clickStatus","pick","camera","getPickRay","text","areaText","getArea","getCenterOfGravityPoint","_this3$labelEntityCol","index","prevPosition","apply","addPolyGon","clickPosition","measureHeight","_this4","labelEntity_1","labelEntity_2","labelEntity_3","cartographic","Cartographic","fromCartesian","height","verticalPoint","fromDegrees","Math","toDegrees","longitude","latitude","centerPoint_1","lengthText_1","horizontalDistanceText","centerPoint_2","lengthText_2","verticalDistanceText","centerPoint_3","lengthText_3","straightLineDistanceText","x","y","z","add","Entity","cancelPopup","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","points","_this5","ps","map","Ellipsoid","WGS84","cartesianToCartographic","getHeight","PI","s","p1","p2","abs","mPoints"],"sources":["tools/tool-box/Measure/Measure.js"],"sourcesContent":["import {\r\n ArcType,\r\n CallbackProperty,\r\n Cartesian2,\r\n Cartesian3,\r\n Cartographic,\r\n ClassificationType,\r\n Color,\r\n Ellipsoid,\r\n Entity,\r\n HeightReference,\r\n LabelStyle,\r\n PolygonHierarchy,\r\n ScreenSpaceEventType,\r\n} from 'cesium';\r\n\r\n/**\r\n * 测量\r\n */\r\nexport class Measure {\r\n constructor(viewer, options = {}) {\r\n this.viewer = viewer;\r\n this.entityCollection = [];\r\n this.viewer.scene.globe.depthTestAgainstTerrain = true;\r\n this.startDraw = false;\r\n this.startTipEntity = null;\r\n this.labelEntityCollection = [];\r\n this.totalEntityCollection = [];\r\n this.clearLast = true;\r\n this.labelVisible = true;\r\n this.TextEnum = options.TextEnum;\r\n }\r\n\r\n // var this.entityCollection = [];\r\n\r\n getCollection() {\r\n return this.entityCollection;\r\n }\r\n\r\n clear() {\r\n this.entityCollection.forEach(entity => {\r\n this.viewer.entities.remove(entity);\r\n });\r\n this.labelEntityCollection.forEach(entity => {\r\n this.viewer.entities.remove(entity);\r\n });\r\n this.totalEntityCollection.forEach(entity => {\r\n this.viewer.entities.remove(entity);\r\n });\r\n this.entityCollection = [];\r\n this.labelEntityCollection = [];\r\n this.totalEntityCollection = [];\r\n }\r\n\r\n /**\r\n * 清除\r\n */\r\n destroy(callback) {\r\n if (this.startTipEntity) {\r\n this.viewer.entities.remove(this.startTipEntity);\r\n }\r\n this.entityCollection;\r\n this.viewer.screenSpaceEventHandler.removeInputAction(ScreenSpaceEventType.LEFT_CLICK);\r\n this.viewer.screenSpaceEventHandler.removeInputAction(ScreenSpaceEventType.MOUSE_MOVE);\r\n this.viewer.screenSpaceEventHandler.removeInputAction(ScreenSpaceEventType.RIGHT_CLICK);\r\n this.viewer.screenSpaceEventHandler.removeInputAction(\r\n ScreenSpaceEventType.LEFT_DOUBLE_CLICK,\r\n );\r\n this.viewer.cancelBubble = false;\r\n this.startDraw = false;\r\n this.clear();\r\n if (callback) {\r\n callback();\r\n }\r\n }\r\n\r\n visibleLabelEntity(visible) {\r\n this.labelEntityCollection.forEach(entity => {\r\n entity.show = visible;\r\n });\r\n this.labelVisible = visible;\r\n }\r\n\r\n removeStartTip() {\r\n if (this.startTipEntity) {\r\n this.viewer.entities.remove(this.startTipEntity);\r\n }\r\n }\r\n\r\n startDrawTip(movePosition) {\r\n if (!this.startDraw) {\r\n this.removeStartTip();\r\n // 计算距离\r\n let lengthText = this.TextEnum.messureStartTipText;\r\n\r\n this.startTipEntity = this.addLabel(movePosition, lengthText);\r\n }\r\n }\r\n\r\n /**\r\n * 测距\r\n */\r\n measurePolyLine(callback) {\r\n let positions = [];\r\n let labelEntity = null; // 标签实体\r\n let totalLabelEntity = null;\r\n let positionsList = [];\r\n this.viewer.cancelBubble = true;\r\n this.startDrawTip();\r\n this.viewer.screenSpaceEventHandler.setInputAction(moveEvent => {\r\n let movePosition = this.viewer.scene.pickPosition(moveEvent.endPosition); // 鼠标移动的点\r\n // var movePosition = this.viewer.scene.globe.pick(this.viewer.camera.getPickRay(moveEvent.endPosition), this.viewer.scene);\r\n\r\n if (!movePosition) {\r\n return false;\r\n }\r\n this.startDrawTip(movePosition);\r\n if (this.startDraw) {\r\n if (positions.length == 2) {\r\n positions.pop();\r\n positions.push(movePosition);\r\n // 绘制label\r\n if (labelEntity) {\r\n this.viewer.entities.remove(labelEntity);\r\n this.labelEntityCollection.splice(\r\n this.labelEntityCollection.indexOf(labelEntity),\r\n 1,\r\n );\r\n }\r\n if (totalLabelEntity) {\r\n this.viewer.entities.remove(totalLabelEntity);\r\n this.totalEntityCollection.splice(\r\n this.totalEntityCollection.indexOf(totalLabelEntity),\r\n 1,\r\n );\r\n }\r\n // 计算中点\r\n let centerPoint = Cartesian3.midpoint(\r\n positions[0],\r\n positions[1],\r\n new Cartesian3(),\r\n );\r\n const currentLength = this.getLengthText(positions[0], positions[1]);\r\n let totalLength = Number(currentLength);\r\n positionsList.forEach(positions => {\r\n totalLength += Number(this.getLengthText(positions[0], positions[1]));\r\n });\r\n // 计算距离\r\n let lengthText = `${this.TextEnum.distanceText}:` + currentLength + 'km';\r\n\r\n labelEntity = this.addLabel(centerPoint, lengthText);\r\n labelEntity.show = this.labelVisible;\r\n totalLabelEntity = this.addLabel(\r\n movePosition,\r\n `${this.TextEnum.totalDistanceText}:` + totalLength.toFixed(2) + 'km',\r\n );\r\n this.labelEntityCollection.push(labelEntity);\r\n this.totalEntityCollection.push(totalLabelEntity);\r\n } else {\r\n positions.push(movePosition);\r\n\r\n // 绘制线\r\n this.addLine(positions);\r\n }\r\n }\r\n }, ScreenSpaceEventType.MOUSE_MOVE);\r\n // 注册鼠标左击事件\r\n this.viewer.screenSpaceEventHandler.setInputAction(clickEvent => {\r\n let cartesian = this.viewer.scene.pickPosition(clickEvent.position); // 坐标\r\n // var cartesian = this.viewer.scene.globe.pick(this.viewer.camera.getPickRay(clickEvent.position), this.viewer.scene);\r\n // 存储第一个点\r\n if (!cartesian) {\r\n return false;\r\n }\r\n if (!this.startDraw) {\r\n if (this.clearLast) {\r\n this.clear();\r\n }\r\n this.startDraw = true;\r\n }\r\n this.removeStartTip();\r\n if (positions.length == 0) {\r\n positions.push(cartesian.clone());\r\n\r\n this.addPoint(cartesian);\r\n // 注册鼠标移动事件\r\n } else {\r\n // 存储第二个点\r\n positions.pop();\r\n positions.push(cartesian);\r\n this.addPoint(cartesian);\r\n this.addLine([...positions]);\r\n positionsList.push([...positions]);\r\n positions = [cartesian];\r\n this.viewer.cancelBubble = false;\r\n labelEntity = null;\r\n totalLabelEntity = null;\r\n if (callback) {\r\n callback();\r\n }\r\n }\r\n }, ScreenSpaceEventType.LEFT_CLICK);\r\n this.viewer.screenSpaceEventHandler.setInputAction(() => {\r\n this.startDraw = false;\r\n positions = [];\r\n positionsList = [];\r\n labelEntity = null;\r\n totalLabelEntity = null;\r\n if (callback) {\r\n callback();\r\n }\r\n }, ScreenSpaceEventType.LEFT_DOUBLE_CLICK);\r\n }\r\n\r\n /**\r\n * 测面积\r\n */\r\n measurePolygon(callback) {\r\n let positions = [];\r\n let clickStatus = false;\r\n let labelEntityCollection = [];\r\n let totalLabelEntity = null;\r\n this.viewer.scene.globe.depthTestAgainstTerrain = false;\r\n this.viewer.cancelBubble = true;\r\n this.viewer.screenSpaceEventHandler.setInputAction(moveEvent => {\r\n // var movePosition = this.viewer.scene.pickPosition(moveEvent.endPosition);\r\n let movePosition = this.viewer.scene.globe.pick(\r\n this.viewer.camera.getPickRay(moveEvent.endPosition),\r\n this.viewer.scene,\r\n );\r\n // console.log(movePosition);\r\n if (!movePosition) {\r\n return false;\r\n }\r\n if (!this.startDraw) {\r\n return this.startDrawTip(movePosition);\r\n }\r\n if (positions.length == 1) {\r\n positions.push(movePosition);\r\n this.addLine(positions);\r\n } else {\r\n if (clickStatus) {\r\n positions.push(movePosition);\r\n } else {\r\n positions.pop();\r\n positions.push(movePosition);\r\n }\r\n }\r\n\r\n if (positions.length >= 3) {\r\n // 绘制label\r\n if (totalLabelEntity) {\r\n this.viewer.entities.remove(totalLabelEntity);\r\n this.totalEntityCollection.splice(\r\n this.totalEntityCollection.indexOf(totalLabelEntity),\r\n 1,\r\n );\r\n }\r\n\r\n let text = `${this.TextEnum.areaText}:` + this.getArea(positions) + 'km²';\r\n let centerPoint = this.getCenterOfGravityPoint(positions);\r\n totalLabelEntity = this.addLabel(centerPoint, text);\r\n\r\n this.totalEntityCollection.push(totalLabelEntity);\r\n }\r\n if (positions.length >= 2) {\r\n labelEntityCollection.forEach(entity => {\r\n this.viewer.entities.remove(entity);\r\n this.labelEntityCollection.splice(\r\n this.labelEntityCollection.indexOf(entity),\r\n 1,\r\n );\r\n });\r\n positions.forEach((position, index) => {\r\n if (index === positions.length - 1) {\r\n return;\r\n }\r\n const prevPosition = positions[index + 1];\r\n let centerPoint = Cartesian3.midpoint(position, prevPosition, new Cartesian3());\r\n const currentLength = this.getLengthText(position, prevPosition);\r\n // 计算距离\r\n let lengthText = `${this.TextEnum.distanceText}:` + currentLength + 'km';\r\n\r\n const labelEntity = this.addLabel(centerPoint, lengthText);\r\n labelEntity.show = this.labelVisible;\r\n labelEntityCollection.push(labelEntity);\r\n });\r\n this.labelEntityCollection.push(...labelEntityCollection);\r\n }\r\n\r\n clickStatus = false;\r\n }, ScreenSpaceEventType.MOUSE_MOVE);\r\n this.viewer.screenSpaceEventHandler.setInputAction(clickEvent => {\r\n clickStatus = true;\r\n if (!this.startDraw) {\r\n this.startDraw = true;\r\n if (this.clearLast) {\r\n this.clear();\r\n }\r\n }\r\n\r\n // var cartesian = this.viewer.scene.pickPosition(clickEvent.position);\r\n let cartesian = this.viewer.scene.globe.pick(\r\n this.viewer.camera.getPickRay(clickEvent.position),\r\n this.viewer.scene,\r\n );\r\n // console.log(cartesian);\r\n\r\n if (!cartesian) {\r\n return false;\r\n }\r\n if (positions.length == 0) {\r\n positions.push(cartesian.clone()); //鼠标左击 添加第1个点\r\n this.addPoint(cartesian);\r\n } else if (positions.length == 2) {\r\n if (!cartesian) {\r\n return false;\r\n }\r\n positions.pop();\r\n positions.push(cartesian.clone()); // 鼠标左击 添加第2个点\r\n\r\n this.addPoint(cartesian);\r\n\r\n this.addPolyGon(positions);\r\n\r\n // 右击结束\r\n this.viewer.screenSpaceEventHandler.setInputAction(clickEvent => {\r\n // var clickPosition = this.viewer.scene.pickPosition(clickEvent.position);\r\n let clickPosition = this.viewer.scene.globe.pick(\r\n this.viewer.camera.getPickRay(clickEvent.position),\r\n this.viewer.scene,\r\n );\r\n // console.log(clickPosition);\r\n if (!clickPosition) {\r\n return false;\r\n }\r\n positions.pop();\r\n positions.push(clickPosition);\r\n positions.push(positions[0]); // 闭合\r\n this.addPoint(clickPosition);\r\n positions = [];\r\n this.viewer.cancelBubble = false;\r\n this.startDraw = false;\r\n totalLabelEntity = null;\r\n labelEntityCollection = [];\r\n if (callback) {\r\n callback();\r\n }\r\n }, ScreenSpaceEventType.LEFT_DOUBLE_CLICK);\r\n } else if (positions.length >= 3) {\r\n if (!cartesian) {\r\n return false;\r\n }\r\n positions.pop();\r\n positions.push(cartesian.clone()); // 鼠标左击 添加第3个点\r\n this.addPoint(cartesian);\r\n }\r\n }, ScreenSpaceEventType.LEFT_CLICK);\r\n }\r\n\r\n /**\r\n * 测高\r\n */\r\n measureHeight(callback) {\r\n let positions = [];\r\n let labelEntity_1 = null; // 标签实体\r\n let labelEntity_2 = null; // 标签实体\r\n let labelEntity_3 = null; // 标签实体\r\n\r\n // 注册鼠标左击事件\r\n this.viewer.screenSpaceEventHandler.setInputAction(clickEvent => {\r\n let cartesian = this.viewer.scene.pickPosition(clickEvent.position); // 坐标\r\n //var cartesian = this.viewer.scene.globe.pick(this.viewer.camera.getPickRay(clickEvent.position), this.viewer.scene);\r\n\r\n // 存储第一个点\r\n\r\n if (positions.length == 0) {\r\n if (!cartesian) {\r\n return false;\r\n }\r\n positions.push(cartesian.clone());\r\n this.addPoint(cartesian);\r\n\r\n // 注册鼠标移动事件\r\n this.viewer.screenSpaceEventHandler.setInputAction(moveEvent => {\r\n let movePosition = this.viewer.scene.pickPosition(moveEvent.endPosition); // 鼠标移动的点\r\n //var movePosition = this.viewer.scene.globe.pick(this.viewer.camera.getPickRay(moveEvent.endPosition), this.viewer.scene);\r\n if (!movePosition) {\r\n return false;\r\n }\r\n if (positions.length >= 2) {\r\n positions.pop();\r\n positions.pop();\r\n positions.pop();\r\n\r\n let cartographic = Cartographic.fromCartesian(movePosition);\r\n let height = Cartographic.fromCartesian(positions[0]).height;\r\n\r\n const verticalPoint = Cartesian3.fromDegrees(\r\n Math.toDegrees(cartographic.longitude),\r\n Math.toDegrees(cartographic.latitude),\r\n height,\r\n );\r\n positions.push(verticalPoint);\r\n positions.push(movePosition);\r\n positions.push(positions[0]);\r\n\r\n // 绘制label\r\n if (labelEntity_1) {\r\n this.viewer.entities.remove(labelEntity_1);\r\n this.entityCollection.splice(\r\n this.entityCollection.indexOf(labelEntity_1),\r\n 1,\r\n );\r\n this.viewer.entities.remove(labelEntity_2);\r\n this.entityCollection.splice(\r\n this.entityCollection.indexOf(labelEntity_2),\r\n 1,\r\n );\r\n this.viewer.entities.remove(labelEntity_3);\r\n this.entityCollection.splice(\r\n this.entityCollection.indexOf(labelEntity_3),\r\n 1,\r\n );\r\n }\r\n\r\n // 计算中点\r\n let centerPoint_1 = Cartesian3.midpoint(\r\n positions[0],\r\n positions[1],\r\n new Cartesian3(),\r\n );\r\n // 计算距离\r\n let lengthText_1 =\r\n `${this.TextEnum.horizontalDistanceText}:` +\r\n this.getLengthText(positions[0], positions[1]);\r\n\r\n labelEntity_1 = this.addLabel(centerPoint_1, lengthText_1);\r\n this.entityCollection.push(labelEntity_1);\r\n\r\n // 计算中点\r\n let centerPoint_2 = Cartesian3.midpoint(\r\n positions[1],\r\n positions[2],\r\n new Cartesian3(),\r\n );\r\n // 计算距离\r\n let lengthText_2 =\r\n `${this.TextEnum.verticalDistanceText}:` +\r\n this.getLengthText(positions[1], positions[2]);\r\n\r\n labelEntity_2 = this.addLabel(centerPoint_2, lengthText_2);\r\n this.entityCollection.push(labelEntity_2);\r\n\r\n // 计算中点\r\n let centerPoint_3 = Cartesian3.midpoint(\r\n positions[2],\r\n positions[3],\r\n new Cartesian3(),\r\n );\r\n // 计算距离\r\n let lengthText_3 =\r\n `${this.TextEnum.straightLineDistanceText}:` +\r\n this.getLengthText(positions[2], positions[3]);\r\n\r\n labelEntity_3 = this.addLabel(centerPoint_3, lengthText_3);\r\n this.entityCollection.push(labelEntity_3);\r\n } else {\r\n const verticalPoint = new Cartesian3(\r\n movePosition.x,\r\n movePosition.y,\r\n positions[0].z,\r\n );\r\n positions.push(verticalPoint);\r\n positions.push(movePosition);\r\n positions.push(positions[0]);\r\n // 绘制线\r\n this.addLine(positions);\r\n }\r\n }, ScreenSpaceEventType.MOUSE_MOVE);\r\n } else {\r\n // 存储第二个点\r\n positions.pop();\r\n positions.pop();\r\n positions.pop();\r\n let cartographic = Cartographic.fromCartesian(cartesian);\r\n let height = Cartographic.fromCartesian(positions[0]).height;\r\n\r\n let verticalPoint = Cartesian3.fromDegrees(\r\n Math.toDegrees(cartographic.longitude),\r\n Math.toDegrees(cartographic.latitude),\r\n height,\r\n );\r\n positions.push(verticalPoint);\r\n positions.push(cartesian);\r\n positions.push(positions[0]);\r\n this.addPoint(cartesian);\r\n this.viewer.screenSpaceEventHandler.removeInputAction(\r\n ScreenSpaceEventType.LEFT_CLICK,\r\n );\r\n this.viewer.screenSpaceEventHandler.removeInputAction(\r\n ScreenSpaceEventType.MOUSE_MOVE,\r\n );\r\n\r\n if (callback) {\r\n callback();\r\n }\r\n }\r\n }, ScreenSpaceEventType.LEFT_CLICK);\r\n }\r\n\r\n /**\r\n * 添加点\r\n * @param position\r\n */\r\n addPoint(position) {\r\n this.entityCollection.push(\r\n this.viewer.entities.add(\r\n new Entity({\r\n cancelPopup: true,\r\n position: position,\r\n point: {\r\n color: Color.BLUE,\r\n pixelSize: 5,\r\n heightReference: HeightReference.NONE,\r\n },\r\n }),\r\n ),\r\n );\r\n }\r\n\r\n /**\r\n * 添加线\r\n * @param positions\r\n */\r\n addLine(positions) {\r\n let dynamicPositions = new CallbackProperty(() => {\r\n return positions;\r\n }, false);\r\n this.entityCollection.push(\r\n this.viewer.entities.add(\r\n new Entity({\r\n cancelPopup: true,\r\n polyline: {\r\n positions: dynamicPositions,\r\n width: 2,\r\n arcType: ArcType.RHUMB,\r\n clampToGround: true,\r\n material: Color.RED, //获取或设置折线的表面外观\r\n heightReference: HeightReference.RELATIVE_TO_GROUND,\r\n },\r\n }),\r\n ),\r\n );\r\n }\r\n\r\n /**\r\n * 添加面\r\n * @param positions\r\n */\r\n addPolyGon(positions) {\r\n let dynamicPositions = new CallbackProperty(() => {\r\n return new PolygonHierarchy(positions);\r\n }, false);\r\n this.entityCollection.push(\r\n this.viewer.entities.add(\r\n new Entity({\r\n cancelPopup: true,\r\n polygon: {\r\n hierarchy: dynamicPositions,\r\n material: Color.RED.withAlpha(0.6),\r\n classificationType: ClassificationType.BOTH, // 贴地表和贴模型,如果设置了,这不能使用挤出高度\r\n },\r\n }),\r\n ),\r\n );\r\n }\r\n\r\n /**\r\n * 添加标签\r\n * @param position\r\n * @param text\r\n */\r\n addLabel(centerPoint, text) {\r\n return this.viewer.entities.add(\r\n new Entity({\r\n cancelPopup: true,\r\n position: centerPoint,\r\n label: {\r\n text: text,\r\n font: '14px sans-serif',\r\n style: LabelStyle.FILL_AND_OUTLINE, //FILL FILL_AND_OUTLINE OUTLINE\r\n fillColor: Color.YELLOW,\r\n showBackground: true, //指定标签后面背景的可见性\r\n backgroundColor: new Color(0.165, 0.165, 0.165, 0.8), // 背景颜色\r\n backgroundPadding: new Cartesian2(6, 6), //指定以像素为单位的水平和垂直背景填充padding\r\n pixelOffset: new Cartesian2(0, -25),\r\n disableDepthTestDistance: Number.POSITIVE_INFINITY,\r\n },\r\n }),\r\n );\r\n }\r\n\r\n /**\r\n * 计算两点距离\r\n * @param firstPoint\r\n * @param secondPoint\r\n */\r\n getLengthText(firstPoint, secondPoint) {\r\n // 计算距离\r\n let length = Cartesian3.distance(firstPoint, secondPoint);\r\n return (length / 1000).toFixed(2);\r\n }\r\n\r\n getArea(points) {\r\n let ps = points.map(point => {\r\n let cartographic = Ellipsoid.WGS84.cartesianToCartographic(point);\r\n let height = this.viewer.scene.globe.getHeight(cartographic);\r\n return Cartesian3.fromDegrees(\r\n (cartographic.longitude / Math.PI) * 180,\r\n (cartographic.latitude / Math.PI) * 180,\r\n height,\r\n );\r\n });\r\n let s = 0;\r\n for (let i = 0; i < ps.length; i++) {\r\n let p1 = ps[i];\r\n let p2;\r\n if (i < ps.length - 1) p2 = ps[i + 1];\r\n else p2 = ps[0];\r\n s += p1.x * p2.y - p2.x * p1.y;\r\n }\r\n\r\n return Math.abs((s / 1000000.0).toFixed(4));\r\n }\r\n\r\n /**\r\n * 计算多边形的中心(简单的处理)\r\n * @param mPoints\r\n * @returns {*[]}\r\n */\r\n getCenterOfGravityPoint(mPoints) {\r\n let centerPoint = mPoints[0];\r\n for (let i = 1; i < mPoints.length; i++) {\r\n centerPoint = Cartesian3.midpoint(centerPoint, mPoints[i], new Cartesian3());\r\n }\r\n return centerPoint;\r\n }\r\n}\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -16,11 +16,6 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
|
|
|
16
16
|
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
17
17
|
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
18
18
|
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
|
|
19
|
-
var title = {
|
|
20
|
-
MeasureDistance: '测距',
|
|
21
|
-
MeasureArea: '测面',
|
|
22
|
-
MeasureHeight: '测高'
|
|
23
|
-
};
|
|
24
19
|
var _default = exports["default"] = function _default(props) {
|
|
25
20
|
var _props$type = props.type,
|
|
26
21
|
type = _props$type === void 0 ? 'MeasureDistance' : _props$type,
|
|
@@ -28,8 +23,14 @@ var _default = exports["default"] = function _default(props) {
|
|
|
28
23
|
onClose = props.onClose,
|
|
29
24
|
rest = _objectWithoutProperties(props, _excluded);
|
|
30
25
|
var _useProps = (0, _useProps2["default"])(),
|
|
31
|
-
map = _useProps.map
|
|
26
|
+
map = _useProps.map,
|
|
27
|
+
TextEnum = _useProps.TextEnum;
|
|
32
28
|
var measure = (0, _react.useRef)();
|
|
29
|
+
var title = {
|
|
30
|
+
MeasureDistance: TextEnum.toolMeasureDistanceText,
|
|
31
|
+
MeasureArea: TextEnum.toolMeasureAreaText,
|
|
32
|
+
MeasureHeight: TextEnum.toolMeasureHeightText
|
|
33
|
+
};
|
|
33
34
|
var startDraw = function startDraw() {
|
|
34
35
|
measure.current.destroy();
|
|
35
36
|
var func = {
|
|
@@ -40,7 +41,9 @@ var _default = exports["default"] = function _default(props) {
|
|
|
40
41
|
measure.current[func[type]]();
|
|
41
42
|
};
|
|
42
43
|
(0, _react.useEffect)(function () {
|
|
43
|
-
measure.current = new _Measure.Measure(map
|
|
44
|
+
measure.current = new _Measure.Measure(map, {
|
|
45
|
+
TextEnum: TextEnum
|
|
46
|
+
});
|
|
44
47
|
startDraw();
|
|
45
48
|
return function () {
|
|
46
49
|
measure.current.destroy();
|
|
@@ -54,11 +57,11 @@ var _default = exports["default"] = function _default(props) {
|
|
|
54
57
|
measure.current.visibleLabelEntity(e.target.checked);
|
|
55
58
|
},
|
|
56
59
|
defaultChecked: true
|
|
57
|
-
},
|
|
60
|
+
}, TextEnum.toolShowLengthText), /*#__PURE__*/_react["default"].createElement(_antd.Checkbox, {
|
|
58
61
|
defaultChecked: true,
|
|
59
62
|
onChange: function onChange(e) {
|
|
60
63
|
measure.current.clearLast = e.target.checked;
|
|
61
64
|
}
|
|
62
|
-
},
|
|
65
|
+
}, TextEnum.toolClearMessureResultText)));
|
|
63
66
|
};
|
|
64
67
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_Measure","_Modal","_interopRequireDefault","_useProps2","_antd","_excluded","e","__esModule","t","WeakMap","r","n","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","_objectWithoutProperties","_objectWithoutPropertiesLoose","getOwnPropertySymbols","indexOf","propertyIsEnumerable","
|
|
1
|
+
{"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_Measure","_Modal","_interopRequireDefault","_useProps2","_antd","_excluded","e","__esModule","t","WeakMap","r","n","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","_objectWithoutProperties","_objectWithoutPropertiesLoose","getOwnPropertySymbols","indexOf","propertyIsEnumerable","_default","exports","props","_props$type","type","active","onClose","rest","_useProps","useProps","map","TextEnum","measure","useRef","title","MeasureDistance","toolMeasureDistanceText","MeasureArea","toolMeasureAreaText","MeasureHeight","toolMeasureHeightText","startDraw","current","destroy","func","useEffect","Measure","createElement","Space","Checkbox","onChange","visibleLabelEntity","target","checked","defaultChecked","toolShowLengthText","clearLast","toolClearMessureResultText"],"sources":["tools/tool-box/Measure/index.js"],"sourcesContent":["import React, { useEffect, useRef } from 'react';\r\nimport { Measure } from './Measure';\r\nimport Modal from '../../components/Modal';\r\nimport useProps from '../../../use-props';\r\nimport { Checkbox, Space } from 'antd';\r\n\r\nexport default props => {\r\n const {\r\n type = 'MeasureDistance', // 测距 MeasureDistance | 测面 MeasureArea | 测高 MeasureHeight\r\n active,\r\n onClose,\r\n ...rest\r\n } = props;\r\n\r\n const { map, TextEnum } = useProps();\r\n const measure = useRef();\r\n\r\n const title = {\r\n MeasureDistance: TextEnum.toolMeasureDistanceText,\r\n MeasureArea: TextEnum.toolMeasureAreaText,\r\n MeasureHeight: TextEnum.toolMeasureHeightText,\r\n };\r\n const startDraw = () => {\r\n measure.current.destroy();\r\n const func = {\r\n MeasureDistance: 'measurePolyLine',\r\n MeasureArea: 'measurePolygon',\r\n MeasureHeight: 'measureHeight',\r\n };\r\n measure.current[func[type]]();\r\n };\r\n\r\n useEffect(() => {\r\n measure.current = new Measure(map, { TextEnum });\r\n startDraw();\r\n return () => {\r\n measure.current.destroy();\r\n };\r\n }, [active]);\r\n\r\n return (\r\n <Modal title={title[type]} onClose={onClose} {...rest}>\r\n <Space>\r\n <Checkbox\r\n onChange={e => {\r\n measure.current.visibleLabelEntity(e.target.checked);\r\n }}\r\n defaultChecked={true}\r\n >\r\n {TextEnum.toolShowLengthText}\r\n </Checkbox>\r\n <Checkbox\r\n defaultChecked={true}\r\n onChange={e => {\r\n measure.current.clearLast = e.target.checked;\r\n }}\r\n >\r\n {TextEnum.toolClearMessureResultText}\r\n </Checkbox>\r\n </Space>\r\n </Modal>\r\n );\r\n};\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,7 +4,7 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports
|
|
7
|
+
exports["default"] = exports.Toolbox = void 0;
|
|
8
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
9
|
var _itemWrap = _interopRequireDefault(require("../components/item-wrap"));
|
|
10
10
|
var _Icon = _interopRequireDefault(require("@ant-design/icons/lib/components/Icon"));
|
|
@@ -32,20 +32,21 @@ var Toolbox = exports.Toolbox = function Toolbox(props) {
|
|
|
32
32
|
var Page = P[type];
|
|
33
33
|
return /*#__PURE__*/_react["default"].createElement(Page, props);
|
|
34
34
|
};
|
|
35
|
-
var options = exports.options = [{
|
|
36
|
-
label: '测距',
|
|
37
|
-
icon: 'icon-ceju',
|
|
38
|
-
key: 'measureDistance'
|
|
39
|
-
}, {
|
|
40
|
-
label: '测面',
|
|
41
|
-
icon: 'icon-mianji',
|
|
42
|
-
key: 'measureArea'
|
|
43
|
-
}
|
|
44
|
-
// { label: '测高', icon: 'icon-mianji', key: 'measureHeight' },
|
|
45
|
-
];
|
|
46
35
|
var ToolBox = function ToolBox(props) {
|
|
47
36
|
var _useProps = (0, _useProps2["default"])(),
|
|
48
|
-
map = _useProps.map
|
|
37
|
+
map = _useProps.map,
|
|
38
|
+
TextEnum = _useProps.TextEnum;
|
|
39
|
+
var options = [{
|
|
40
|
+
label: TextEnum.toolMeasureDistanceText,
|
|
41
|
+
icon: 'icon-ceju',
|
|
42
|
+
key: 'measureDistance'
|
|
43
|
+
}, {
|
|
44
|
+
label: TextEnum.toolMeasureAreaText,
|
|
45
|
+
icon: 'icon-mianji',
|
|
46
|
+
key: 'measureArea'
|
|
47
|
+
}
|
|
48
|
+
// { label: TextEnum.toolMeasureHeightText, icon: 'icon-mianji', key: 'measureHeight' },
|
|
49
|
+
];
|
|
49
50
|
var _useState = (0, _react.useState)(''),
|
|
50
51
|
_useState2 = _slicedToArray(_useState, 2),
|
|
51
52
|
active = _useState2[0],
|