From 9f1f8674c82dd35800cbd7c64142fa25a92f5f28 Mon Sep 17 00:00:00 2001
From: liuyg <376836862@qq.com>
Date: Mon, 28 Jun 2021 14:53:06 +0800
Subject: [PATCH] BOX裁剪功能添加

---
 widgets/spatialAnalysis/Widget.js |   84 ++++++++++++++++++++++++------------------
 1 files changed, 48 insertions(+), 36 deletions(-)

diff --git a/widgets/spatialAnalysis/Widget.js b/widgets/spatialAnalysis/Widget.js
index 5f2992d..b36a3a0 100644
--- a/widgets/spatialAnalysis/Widget.js
+++ b/widgets/spatialAnalysis/Widget.js
@@ -80,6 +80,11 @@
 						name: '平面裁剪',
 						classs: 'clippingPlanes-tool',
 						img: './images/addL/pingmian.png'
+					},
+					{//BOX裁剪
+						name: 'BOX裁剪',
+						classs: 'BOXTailoring-tool',
+						img: './images/addL/pingmian.png'
 					}
 				];
 
@@ -289,6 +294,20 @@
 					}
 				})
 
+				//BOX裁剪
+				$('.BOXTailoring-tool').click(function () {
+					that.closeOnceUse();
+
+					if (that.promise == 'NODATA') {
+						layer.tips('请选择三维倾斜数据中的图层支持!', '.SelectLayerTool', {
+							tips: [3, 'red']
+						});
+					} else {
+						$(".jimu-widget-BOXTailoring").show();
+						topic.publish('beginBOXTailoring', that.promise);
+					}
+				})
+
 				$('.SelectLayerTool').click(() => {
 					$('#SelectLayerToolItem').toggle();
 				})
@@ -308,10 +327,19 @@
 				dom.append(str);
 				// console.log('数据错误默认')
 				this.promise = 'NODATA';
+				this.SelectClose();//关闭需要三维数据的窗口
+			},
+			SelectClose: function () {
 				//关闭平面裁剪
 				if ($(".jimu-widget-clippingPlanes").is(":visible")) {//判断是否隐藏
 					$(".jimu-widget-clippingPlanes").hide();
 					topic.publish('closesclippingPlanes');
+				}
+
+				//关闭BOX裁剪
+				if ($(".jimu-widget-BOXTailoring").is(":visible")) {//判断是否隐藏
+					$(".jimu-widget-BOXTailoring").hide();
+					topic.publish('closesBOXTailoring');
 				}
 			},
 			liClick: function (itemid, name, ourdata = 1) {//点击事件
@@ -333,39 +361,36 @@
 					if (ourdata != 1) {
 						// 	console.log('data')
 						if (ourdata.lon) {
-							that.map.camera.flyTo({
-								destination: Cesium.Cartesian3.fromDegrees(Number(ourdata.lon), Number(ourdata.lat), Number(ourdata.height * 50))
+							//设置相机位置、视角,便于观察场景
+							that.map.scene.camera.setView({
+								destination: new Cesium.Cartesian3.fromDegrees(Number(ourdata.lon), Number(ourdata.lat), Number(ourdata.height)),
+								orientation: {
+									heading: Cesium.Math.toRadians(Number(ourdata.yawAngle)),
+									pitch: Cesium.Math.toRadians(Number(ourdata.pitchAngle)),
+									roll: Cesium.Math.toRadians(Number(ourdata.rollAngle))
+								}
 							});
 						}
 						if (ourdata.src.indexOf('.openrealspace') != -1) {
 							// console.log('数据正确');
-							//关闭平面裁剪
-							if ($(".jimu-widget-clippingPlanes").is(":visible")) {//判断是否隐藏
-								$(".jimu-widget-clippingPlanes").hide();
-								topic.publish('closesclippingPlanes');
-							}
+							this.SelectClose();//关闭需要三维数据的窗口
 							that.promise = {
 								src: ourdata.src,
-								name: ourdata.serviceName
+								ZName: ourdata.title,
+								name: ourdata.serviceName,
+								id: ourdata.id
 							};
 
 						} else {
 							// console.log('数据错误');
 							that.promise = 'NODATA';
-							//关闭平面裁剪
-							if ($(".jimu-widget-clippingPlanes").is(":visible")) {//判断是否隐藏
-								$(".jimu-widget-clippingPlanes").hide();
-								topic.publish('closesclippingPlanes');
-							}
+							this.SelectClose();//关闭需要三维数据的窗口
 						}
 					} else {
 						// console.log('数据错误没有data');
 						that.promise = 'NODATA';
 						//关闭平面裁剪
-						if ($(".jimu-widget-clippingPlanes").is(":visible")) {//判断是否隐藏
-							$(".jimu-widget-clippingPlanes").hide();
-							topic.publish('closesclippingPlanes');
-						}
+						this.SelectClose();//关闭需要三维数据的窗口
 					}
 
 				})
@@ -479,25 +504,6 @@
 					}
 				}
 			},
-
-			// beginRool: function (data) {
-			// 	//选择图层Layui
-			// 	layui.use(['dropdown', 'util', 'layer', 'table'], function () {
-			// 		var dropdown = layui.dropdown
-			// 			, layer = layui.layer;
-			// 		dropdown.render({
-			// 			elem: '.SelectLayerTool'
-			// 			, data: data
-			// 			, click: function (obj) {
-			// 				layer.tips('选择了:' + obj.title, this.elem, { tips: [1, '#5FB878'] });
-			// 				var dom = $('.SelectLayerTool');
-			// 				dom.empty();
-			// 				var str = `${obj.title} <i class="layui-icon layui-icon-down layui-font-12"></i>`
-			// 				dom.append(str);
-			// 			}
-			// 		});
-			// 	});
-			// },
 			closeToolBox: function (item) {
 				if (item != this.name) {
 					$('.tool-y-box').hide();
@@ -567,6 +573,12 @@
 					topic.publish('closesclippingPlanes');
 				}
 
+				//关闭BOX裁剪
+				if ($(".jimu-widget-BOXTailoring").is(":visible")) {//判断是否隐藏
+					$(".jimu-widget-BOXTailoring").hide();
+					topic.publish('closesBOXTailoring');
+				}
+
 			},
 			onOpen: function () {
 			},

--
Gitblit v1.9.3