From 82c0e01ab038fa3119208b8bf1fba2e46404c262 Mon Sep 17 00:00:00 2001
From: ansel0926 <ansel0926@gmail.com>
Date: 星期六, 14 五月 2022 21:48:06 +0800
Subject: [PATCH] Merge branch 'master' of ssh://117.78.1.188:29418/DDE-WEB

---
 libs/Cesiumplus/CesiumDraw.js |   93 ++++++++++++++++++++++++++++++++--------------
 1 files changed, 64 insertions(+), 29 deletions(-)

diff --git a/libs/Cesiumplus/CesiumDraw.js b/libs/Cesiumplus/CesiumDraw.js
index 948df86..4d92767 100644
--- a/libs/Cesiumplus/CesiumDraw.js
+++ b/libs/Cesiumplus/CesiumDraw.js
@@ -262,6 +262,7 @@
 					// 	})
 					// }
 					addTreeNode(node, "4");
+					saveDrawEntity("polygon",drawpointArr,measurePolyGonGroundEntity.id);
 				}
 				for (let i in drawpointArr) {
 					viewer.entities.remove(drawpointArr[i]);
@@ -320,7 +321,6 @@
 			measureLineGroundEntity.polyline.positions = new Cesium.CallbackProperty(function () {
 				return measureLinePositonsArray;
 			}, false)
-
 			var drawpointArr = measureLineGroundEntity.drawpointArr;
 			//鑺傜偣娣诲姞鏍囩
 			function addPin(carPoi) {
@@ -455,6 +455,7 @@
 						// }
 
 						addTreeNode(node, "4");
+						saveDrawEntity("polyline",drawpointArr,measureLineGroundEntity.id);
 					}
 					for (let i in drawpointArr) {
 						viewer.entities.remove(drawpointArr[i]);
@@ -471,33 +472,64 @@
 			drawHandler.setInputAction(function (movement) {
 				//鑾峰彇榧犳爣鐐瑰嚮澶勭殑鍧愭爣
 				drawHandler = drawHandler && drawHandler.destroy();
-				var cartesian = options.viewer.scene.pickPosition(movement.position);
-				var cartographic = Cesium.Cartographic.fromCartesian(cartesian);
-				var height = cartographic.height;//妯″瀷楂樺害
-				if (Number(height) < 0) {
-					var ray = options.viewer.camera.getPickRay(movement.position);
-					cartesian = options.viewer.scene.globe.pick(ray, options.viewer.scene);
-				}
-				cartographic = Cesium.Cartographic.fromCartesian(cartesian);
-				height = cartographic.height;//鍦板舰楂樺害
-				// var lng = Cesium.Math.toDegrees(cartographic.longitude);
-				// var lat = Cesium.Math.toDegrees(cartographic.latitude);
-				// var poiResult = lng + "," + lat + "," + height;
-				// document.getElementById(options.printId).value = poiResult;
-				// var drawPointEntity = options.viewer.entities.getById("drawPointEntity");
-				// if(drawPointEntity == undefined){
-				var entity = viewer.entities.add({
-					name: 'drawPointEntity',
-					position: cartesian.clone(),
-					point: {
-						color: options.pointcolor,
-						pixelSize: 10,
-						outlineColor: Cesium.Color.WHITE,
-						outlineWidth: 2,
-						disableDepthTestDistance: Number.POSITIVE_INFINITY
+				// var cartesian = options.viewer.scene.pickPosition(movement.position);
+				// var cartographic = Cesium.Cartographic.fromCartesian(cartesian);
+				// var height = cartographic.height;//妯″瀷楂樺害
+				// if (Number(height) < 0) {
+				// 	var ray = options.viewer.camera.getPickRay(movement.position);
+				// 	cartesian = options.viewer.scene.globe.pick(ray, options.viewer.scene);
+				// }
+				// cartographic = Cesium.Cartographic.fromCartesian(cartesian);
+				// height = cartographic.height;//鍦板舰楂樺害
+				// var entity = viewer.entities.add({
+				// 	name: 'drawPointEntity',
+				// 	position: cartesian.clone(),
+				// 	point: {
+				// 		color: options.pointcolor,
+				// 		pixelSize: 10,
+				// 		outlineColor: Cesium.Color.WHITE,
+				// 		outlineWidth: 2,
+				// 		disableDepthTestDistance: Number.POSITIVE_INFINITY
+				// 	}
+				// });
+				let position = viewer.scene.camera.pickEllipsoid(movement.position, viewer.scene.globe.ellipsoid);
+				let pointText="鐐�" + new Date().format("yyyyMMddhhmmss");
+				var entity=viewer.entities.add({
+					name:"drawPointEntity",
+					position:position,
+					label: {
+						show: true,
+						verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
+						horizontalOrigin: Cesium.HorizontalOrigin.CENTER,
+						font: 'bold 14px Helvetica',
+						fillColor: Cesium.Color.WHITE,
+						text: pointText,
+						disableDepthTestDistance: Number.POSITIVE_INFINITY,
+						heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
+						distanceDisplayCondition: new Cesium.DistanceDisplayCondition(0, 200000000.0)
+					},
+					billboard: {
+						image: "../assets/images/icon/icon1.png",
+						width: 40,
+						height: 40,
+						rotation: 0,
+						verticalOrigin: Cesium.VerticalOrigin.TOP,
+						horizontalOrigin: Cesium.HorizontalOrigin.CENTER,
+						disableDepthTestDistance: Number.POSITIVE_INFINITY,//骞垮憡鐗屼笉杩涜娣卞害妫�娴�
+						heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
+						distanceDisplayCondition: new Cesium.DistanceDisplayCondition(0, 200000000.0)
 					}
 				});
-				entity.title =  "鐐�" + new Date().format("yyyyMMddhhmmss");
+				var cartesian = entity._position._value
+				let popup = new Popup({
+					viewer:viewer,
+					geometry:cartesian,
+					entity:entity,
+					id: "pop_" + entity.id,
+					type:'image',
+					content:null,
+				})
+				entity.title =  pointText;
 				addTreeNode({
 					"title": entity.title,
 					"id": entity.id,
@@ -506,10 +538,11 @@
 					"spread": true,
 					"children": [],
 					"ext": {
-						"lng": Cesium.Math.toDegrees(cartographic.longitude),
-						"lat": Cesium.Math.toDegrees(cartographic.latitude)
+						"lng": Cesium.Math.toDegrees(cartesian.x),
+						"lat": Cesium.Math.toDegrees(cartesian.y)
 					}
 				}, "4");
+				saveDrawEntity("point",entity,entity.id);
 			}, Cesium.ScreenSpaceEventType.LEFT_CLICK);
 		}
 
@@ -574,6 +607,7 @@
 						"lat": Cesium.Math.toDegrees(cartographic.latitude)
 					}
 				}, "4");
+				saveDrawEntity("label",entity,entity.id);
 				drawHandler = drawHandler && drawHandler.destroy();
 			}, Cesium.ScreenSpaceEventType.LEFT_CLICK);
 		}
@@ -592,4 +626,5 @@
 	} else {
 		console.log("CesiumDraw already defined.");
 	}
-})(window);
\ No newline at end of file
+})(window);
+

--
Gitblit v1.9.1