@vtx/cs-map 1.0.120 → 1.0.123
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/lib/_util/layer.js +15 -9
- package/lib/_util/layer.js.map +1 -1
- package/lib/feature-layer/FeatureLayer.js +1 -1
- package/lib/feature-layer/FeatureLayer.js.map +1 -1
- package/lib/highlight-layer/HighlightLayer.js +2 -1
- package/lib/highlight-layer/HighlightLayer.js.map +1 -1
- package/lib/image-layer/ImageLayer.js +5 -2
- package/lib/image-layer/ImageLayer.js.map +1 -1
- package/lib/map/Popup.js +17 -12
- package/lib/map/Popup.js.map +1 -1
- package/lib/map/index.js +3 -3
- package/lib/map/index.js.map +1 -1
- package/lib/renderer/index.js +7 -1
- package/lib/renderer/index.js.map +1 -1
- package/lib/road-line-layer/RoadLineLayer.js +1 -3
- package/lib/road-line-layer/RoadLineLayer.js.map +1 -1
- package/lib/tools/map-search/index.js +0 -6
- package/lib/tools/map-search/index.js.map +1 -1
- package/lib/tools/tool-box/Measure/Measure.js +4 -0
- package/lib/tools/tool-box/Measure/Measure.js.map +1 -1
- package/package.json +1 -1
|
@@ -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","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 }\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 }\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 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 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","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":[]}
|