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裁剪功能添加
---
config.json | 4
widgets/BOXTailoring/manifest.json | 17 +
widgets/LeftNavigationBar/Widget.js | 7
widgets/BOXTailoring/nls/zh-cn/strings.js | 5
widgets/BOXTailoring/Widget.html | 57 +++++
widgets/BOXTailoring/Widget.js | 379 ++++++++++++++++++++++++++++++++++
widgets/BOXTailoring/nls/strings.js | 7
widgets/digTheEarth/Widget.js | 4
widgets/BOXTailoring/nls/es/strings.js | 5
widgets/spatialAnalysis/Widget.js | 84 ++++---
widgets/BOXTailoring/css/style.css | 61 +++++
11 files changed, 591 insertions(+), 39 deletions(-)
diff --git a/config.json b/config.json
index 656296b..09772df 100644
--- a/config.json
+++ b/config.json
@@ -276,6 +276,10 @@
{
"name": "平面裁剪",
"uri": "widgets/clippingPlanes/Widget"
+ },
+ {
+ "name": "BOX裁剪",
+ "uri": "widgets/BOXTailoring/Widget"
}
],
"groups": [],
diff --git a/widgets/BOXTailoring/Widget.html b/widgets/BOXTailoring/Widget.html
new file mode 100644
index 0000000..586336e
--- /dev/null
+++ b/widgets/BOXTailoring/Widget.html
@@ -0,0 +1,57 @@
+<div>
+ <div id="cesiumContainer"></div>
+ <div id='loadingbarBOXTailoring' class="spinner">
+ <div class="spinner-container container1">
+ <div class="circle1"></div>
+ <div class="circle2"></div>
+ <div class="circle3"></div>
+ <div class="circle4"></div>
+ </div>
+ <div class="spinner-container container2">
+ <div class="circle1"></div>
+ <div class="circle2"></div>
+ <div class="circle3"></div>
+ <div class="circle4"></div>
+ </div>
+ <div class="spBOXTailoringinner-container container3">
+ <div class="circle1"></div>
+ <div class="circle2"></div>
+ <div class="circle3"></div>
+ <div class="circle4"></div>
+ </div>
+ </div>
+ <div id='toolbarBOXTailoring' class="param-container tool-bar">
+ <div id="toolbarBOXTailoringIn">
+ <select style="width: 180px;" id="clipModeBOXTailoring">
+ <option value="clip_behind_all_plane">裁剪包围盒内</option>
+ <option value="clip_behind_any_plane">裁剪包围盒外</option>
+ </select>
+
+ </div>
+ <div class="param-item">
+ <b>改变长度:</b>
+ <div id="lengthBOXTailoring"></div>
+ </div>
+ <div class="param-item">
+ <b>改变宽度:</b>
+ <div id="widthBOXTailoring"></div>
+ </div>
+ <div class="param-item">
+ <b>改变高度:</b>
+ <div id="heightBOXTailoring"></div>
+ </div>
+ <div class="param-item">
+ <b>进行旋转:</b>
+ <div id="rotateBOXTailoring"></div>
+ </div>
+ <div class="param-item">
+ <button type="button" id="beginBOXTailoringG" class="button black">设置盒子</button>
+ <button type="button" id="customBOXTailoring" class="button black" title="左键移动裁剪,右键结束">移 动</button>
+ <button type="button" id="clearboxBOXTailoring" class="button black">清 除</button>
+ </div>
+
+ </div>
+ <i class="layui-icon closeOUR">
+ ဆ
+ </i></span>
+</div>
\ No newline at end of file
diff --git a/widgets/BOXTailoring/Widget.js b/widgets/BOXTailoring/Widget.js
new file mode 100644
index 0000000..2cf8e9c
--- /dev/null
+++ b/widgets/BOXTailoring/Widget.js
@@ -0,0 +1,379 @@
+define([
+ 'dojo/_base/declare',
+ 'dojo/_base/lang',
+ 'dojo/_base/array',
+ 'dojo/_base/html',
+ 'dojo/topic',
+ 'jimu/BaseWidget',
+],
+ function (declare,
+ lang,
+ array,
+ html,
+ topic,
+ BaseWidget
+ ) {
+ return declare([BaseWidget], {
+ baseClass: 'jimu-widget-BOXTailoring',
+ name: 'BOXTailoring',
+ flag: false,
+ startup: function () {
+ var that = this;
+ topic.subscribe("beginBOXTailoring", lang.hitch(this, this.beginBOXTailoring));
+ topic.subscribe("closesBOXTailoring", lang.hitch(this, this.closesBOXTailoring));
+ // topic.publish('getbeginSlope', that.beginSlope);
+ $(`.${that.baseClass}`).find('.closeOUR').click(() => {
+ $(`.${that.baseClass}`).hide();
+ that.closesBOXTailoring();
+ })
+ // 设置滑块,体验感
+ that.defaultLayui();
+
+ // $('#beginBOXTailoringG').click(() => {
+ // that.beginBOXTailoring();
+ // })
+
+
+ },
+ defaultLayui: function () {
+ var that = this;
+ layui.use(function () {
+ var slider = layui.slider //滑块
+ //滑块
+ var sliderInst1 = slider.render({
+ elem: '#lengthBOXTailoring'
+ // , input: true //输入框
+ , value: that.Nowlength
+ , disabled: true
+ , change: function (value) {
+ // console.log(value) //得到开始值
+ }
+ });
+ var sliderInst2 = slider.render({
+ elem: '#widthBOXTailoring'
+ // , input: true //输入框
+ , value: that.Nowwidth
+ , disabled: true
+ , change: function (value) {
+ // console.log(value) //得到开始值
+ }
+ });
+ var sliderInst3 = slider.render({
+ elem: '#heightBOXTailoring'
+ // , input: true //输入框
+ , value: that.Nowheight
+ , disabled: true
+ , change: function (value) {
+ // console.log(value) //得到开始值
+ }
+ });
+ var sliderInst4 = slider.render({
+ elem: '#rotateBOXTailoring'
+ // , input: true //输入框
+ , value: that.Nowrotate
+ , max: 360
+ , disabled: true
+ , change: function (value) {
+ // console.log(value) //得到开始值
+ }
+ });
+ })
+ },
+ Nowlength: 5,
+ Nowwidth: 5,
+ Nowheight: 5,
+ Nowrotate: 0,
+ beginBOXTailoring: function (pro) {
+ console.log(`${this.name}--kaishi`);
+ var that = this;
+ var promise = window.mySanweiShujuOpens[pro.id];
+ // var promise = window.mySanweiShujuOpens;
+ // console.log(pro.ZName);
+ // console.log(promise);
+ // return;
+
+ var viewer = that.map;
+ // viewer.imageryLayers.addImageryProvider(new Cesium.BingMapsImageryProvider({
+ // url: 'https://dev.virtualearth.net',
+ // mapStyle: Cesium.BingMapsStyle.AERIAL,
+ // key: window.MYURL_CONFIG.BING_MAP_KEY
+ // }));
+ var scene = viewer.scene;
+ var widget = viewer.cesiumWidget;
+ $('#toolbarBOXTailoring').show();
+ $('#loadingbarBOXTailoring').remove();
+ // 场景添加S3M图层服务
+ // that.promise = scene.open(window.MYURL_CONFIG.SCENE_BIMBUILDING);
+ that.promise = promise;
+ Cesium.when(that.promise, function (layers) {
+ // 精准定位
+ // scene.camera.setView({
+ // destination: new Cesium.Cartesian3(-2180753.065987198, 4379023.266141494, 4092583.575045952),
+ // orientation: {
+ // heading: 4.0392222751147955,
+ // pitch: 0.010279641987852584,
+ // roll: 1.240962888005015e-11
+ // }
+ // });
+
+ // 设置裁剪线颜色
+ setAllLayersClipColor();
+ var boxEntity = undefined;
+ var $clipMode = $('#clipModeBOXTailoring')
+ , Nowlength = that.Nowlength
+ , Nowwidth = that.Nowwidth
+ , Nowheight = that.Nowheight
+ , Nowrotate = that.Nowrotate;
+ var tooltip = window.MYcreateTooltip(document.body);
+ var handler = new Cesium.ScreenSpaceEventHandler(scene.canvas);
+ var isBegin = false;//设置不重复添加盒子
+
+ $('#beginBOXTailoringG').click(() => {
+ if (isBegin) {
+ layer.tips('请先清除,再添加', '#clearboxBOXTailoring', {
+ tips: [3, 'red']
+ });
+ return false;
+ }
+ isBegin = true;
+ layui.use(function () {
+ var slider = layui.slider //滑块
+ //滑块
+ var sliderInst1 = slider.render({
+ elem: '#lengthBOXTailoring'
+ // , input: true //输入框
+ , value: Nowlength
+ , disabled: false
+ , change: function (value) {
+ // console.log(value) //得到开始值
+ Nowlength = Number(value);
+ that.Nowlength = Number(value);
+ if (!boxEntity) {
+ return;
+ }
+ var dim = boxEntity.box.dimensions.getValue();
+ var newValue = Number(value);
+ boxEntity.box.dimensions = new Cesium.Cartesian3(newValue, dim.y, dim.z);
+ setClipBox();
+ }
+ });
+ var sliderInst2 = slider.render({
+ elem: '#widthBOXTailoring'
+ // , input: true //输入框
+ , value: Nowwidth
+ , disabled: false
+ , change: function (value) {
+ // console.log(value) //得到开始值
+ Nowwidth = Number(value);
+ that.Nowwidth = Number(value);
+ if (!boxEntity) {
+ return;
+ }
+ var dim = boxEntity.box.dimensions.getValue();
+ var newValue = Number(value);
+ boxEntity.box.dimensions = new Cesium.Cartesian3(dim.x, newValue, dim.z);
+ setClipBox();
+ }
+ });
+ var sliderInst3 = slider.render({
+ elem: '#heightBOXTailoring'
+ // , input: true //输入框
+ , value: Nowheight
+ , disabled: false
+ , change: function (value) {
+ // console.log(value) //得到开始值
+ Nowheight = Number(value);
+ that.Nowheight = Number(value);
+ if (!boxEntity) {
+ return;
+ }
+ var dim = boxEntity.box.dimensions.getValue();
+ var newValue = Number(value);
+ boxEntity.box.dimensions = new Cesium.Cartesian3(dim.x, dim.y, newValue);
+ setClipBox();
+ }
+ });
+ var sliderInst4 = slider.render({
+ elem: '#rotateBOXTailoring'
+ // , input: true //输入框
+ , value: Nowrotate
+ , disabled: false
+ , max: 360
+ , change: function (value) {
+ // console.log(value) //得到开始值
+ Nowrotate = Number(value);
+ that.Nowrotate = Number(value);
+ if (!boxEntity) {
+ return;
+ }
+ var position = boxEntity.position.getValue(0);
+ var newValue = Number(value);
+ var rotate = Cesium.Math.toRadians(newValue);
+ var hpr = new Cesium.HeadingPitchRoll(rotate, 0, 0);
+ var orientation = Cesium.Transforms.headingPitchRollQuaternion(position, hpr);
+ boxEntity.orientation = orientation;
+ setClipBox();
+ }
+ });
+ })
+
+
+
+ handler.setInputAction(function (evt) {
+ tooltip.showAt(evt.endPosition, '<p>点击模型,添加裁剪盒子</p>');
+ }, Cesium.ScreenSpaceEventType.MOUSE_MOVE);
+
+ handler.setInputAction(function (evt) {
+ var clipMode = $clipMode.val();
+ var length = Number(Nowlength);
+ var width = Number(Nowwidth);
+ var height = Number(Nowheight);
+ var rotate = Cesium.Math.toRadians(parseFloat(Nowrotate));
+ // 获取鼠标点击的笛卡尔坐标
+ var cartesian = scene.pickPosition(evt.position);
+ var boxOption = {
+ dimensions: new Cesium.Cartesian3(length, width, height),
+ position: cartesian,
+ clipMode: clipMode,
+ heading: rotate
+ };
+ var hpr = new Cesium.HeadingPitchRoll(rotate, 0, 0);
+ var orientation = Cesium.Transforms.headingPitchRollQuaternion(cartesian, hpr);
+ boxEntity = viewer.entities.add({
+ box: {
+ dimensions: new Cesium.Cartesian3(length, width, height),
+ material: Cesium.Color.fromRandom({
+ alpha: 0.1
+ })
+ },
+ position: cartesian,
+ orientation: orientation
+ });
+ setAllLayersClipOptions(boxOption);
+ tooltip.setVisible(false);
+ handler.removeInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE);
+ handler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_CLICK);
+ }, Cesium.ScreenSpaceEventType.LEFT_CLICK);
+
+ })
+ $("#customBOXTailoring").on("click", function () {
+ if (!boxEntity) {
+ return;
+ }
+ if (!isBegin) {
+ layer.tips('请先添加盒子', '#beginBOXTailoringG', {
+ tips: [3, 'red']
+ });
+ return false;
+ }
+ handler.setInputAction(
+ function (movement) {
+ tooltip.showAt(movement.endPosition, '<p>点击模型,移动裁剪盒子</p>');
+ var cartesian = viewer.scene.pickPosition(movement.startPosition);
+ boxEntity.position = cartesian;
+ handler.setInputAction(function (evt) {
+ setClipBox();
+ tooltip.setVisible(false);
+ handler.removeInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE);
+ }, Cesium.ScreenSpaceEventType.LEFT_CLICK);
+ }, Cesium.ScreenSpaceEventType.MOUSE_MOVE
+ );
+ });
+ $('#clearboxBOXTailoring').click(function () {
+ // for (var i = 0, j = layers.length; i < j; i++) {
+ // layers[i].clearCustomClipBox();
+ // };
+ // viewer.entities.removeAll();
+ // that.defaultLayui();
+ isBegin = false;
+ that.closesBOXTailoring();
+ });
+
+ handler.setInputAction(function () {
+ setClipBox();
+ handler.removeInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE);
+ }, Cesium.ScreenSpaceEventType.RIGHT_CLICK);
+ $clipMode.change(function () {
+ setClipBox();
+ });
+
+ function setClipBox() {
+ var newDim = boxEntity.box.dimensions.getValue();
+ var position = boxEntity.position.getValue(0);
+ var clipMode = $clipMode.val();
+ var heading = Cesium.Math.toRadians(Nowrotate);
+ var boxOptions = {
+ dimensions: newDim,
+ position: position,
+ clipMode: clipMode,
+ heading: heading
+ };
+ setAllLayersClipOptions(boxOptions);
+ }
+
+ function setAllLayersClipColor() {
+ for (var i = 0, j = layers.length; i < j; i++) {
+ layers[i].clipLineColor = new Cesium.Color(1, 1, 1, 0);
+ }
+ }
+
+ function setAllLayersClipOptions(boxOptions) {
+ for (var i = 0, j = layers.length; i < j; i++) {
+ layers[i].setCustomClipBox(boxOptions);
+ }
+ }
+
+ }, function (e) {
+ if (widget._showRenderLoopErrors) {
+ var title = '加载SCP失败,请检查网络连接状态或者url地址是否正确?';
+ widget.showErrorPanel(title, undefined, e);
+ }
+ });
+
+
+ },
+ promise: 'null',
+ closesBOXTailoring: function (froms) {
+ console.log(`${this.name}--guanbi`);
+ var that = this;
+ if (that.promise != 'null') {
+ Cesium.when(that.promise, function (layers) {
+ for (var i = 0, j = layers.length; i < j; i++) {
+ layers[i].clearCustomClipBox();
+ };
+ that.map.entities.removeAll();
+ that.defaultLayui();
+ })
+ }
+
+ },
+ onOpen: function () {
+
+ },
+
+ onClose: function () {
+ //面板关闭的时候触发 (when this panel is closed trigger)
+ console.log('jies')
+ },
+
+ onMinimize: function () {
+ this.resize();
+ },
+
+ onMaximize: function () {
+ this.resize();
+ },
+
+ resize: function () {
+
+ },
+
+ destroy: function () {
+ //销毁的时候触发
+ //todo
+ //do something before this func
+ this.inherited(arguments);
+ }
+
+ });
+ });
diff --git a/widgets/BOXTailoring/css/style.css b/widgets/BOXTailoring/css/style.css
new file mode 100644
index 0000000..2c2de0d
--- /dev/null
+++ b/widgets/BOXTailoring/css/style.css
@@ -0,0 +1,61 @@
+.jimu-widget-BOXTailoring {
+ position: fixed !important;
+ top: 72px !important;
+ right: 388px !important;
+ width: 200px !important;
+ height: 300px !important;
+ background-color: rgb(255, 255, 255);
+ font-size: 14px;
+ color: rgb(0, 0, 0);
+ z-index: 12 !important;
+ border-radius: 10px;
+ display: none;
+ box-shadow: 0 0 8px #fff;
+ padding: 0px 5px !important;
+}
+
+.jimu-widget-BOXTailoring .closeOUR {
+ position: absolute;
+ right: 5px;
+ top: 5px;
+ font-size: 18px;
+ cursor: pointer;
+}
+
+.jimu-widget-BOXTailoring .closeOUR:hover {
+ color: red;
+}
+
+.jimu-widget-BOXTailoring button{
+ line-height: 30px;
+ /* width: 80px; */
+ height: 30px;
+ font-size: 14px;
+ border-radius: 5px;
+ box-shadow: 2px 2px 15px -5px #378ef1;
+ border: 1px solid transparent;
+ background-color: #fff;
+ padding: 0 8px;
+}
+
+.jimu-widget-BOXTailoring button:hover {
+ box-shadow: 2px 2px 25px -5px #1679eb;
+}
+
+.jimu-widget-BOXTailoring #lengthBOXTailoring
+,.jimu-widget-BOXTailoring #widthBOXTailoring
+,.jimu-widget-BOXTailoring #heightBOXTailoring
+,.jimu-widget-BOXTailoring #rotateBOXTailoring{
+ width: 180px;
+}
+
+.jimu-widget-BOXTailoring #toolbarBOXTailoring {
+ width: 100%;
+ height: calc(100% - 30px);
+ margin-top: 20px;
+ /* border: 1px solid sandybrown; */
+ display: flex;
+ align-items: center;
+ flex-direction: column;
+ justify-content: space-around;
+}
diff --git a/widgets/BOXTailoring/manifest.json b/widgets/BOXTailoring/manifest.json
new file mode 100644
index 0000000..7f1b458
--- /dev/null
+++ b/widgets/BOXTailoring/manifest.json
@@ -0,0 +1,17 @@
+{
+ "name": "BOXTailoring",
+ "2D": true,
+ "3D": true,
+ "platform": "HTML",
+ "version": "2.10",
+ "wabVersion": "2.10",
+ "author": "liuyg",
+ "description": "",
+ "copyright": "",
+ "license": "",
+ "properties": {
+ "hasConfig": false,
+ "inPanel": false,
+ "hasVersionManager": false
+ }
+}
\ No newline at end of file
diff --git a/widgets/BOXTailoring/nls/es/strings.js b/widgets/BOXTailoring/nls/es/strings.js
new file mode 100644
index 0000000..2b3d87b
--- /dev/null
+++ b/widgets/BOXTailoring/nls/es/strings.js
@@ -0,0 +1,5 @@
+define(
+ ({
+ _widgetLabel: "BOXTailoring"
+ })
+);
\ No newline at end of file
diff --git a/widgets/BOXTailoring/nls/strings.js b/widgets/BOXTailoring/nls/strings.js
new file mode 100644
index 0000000..a2cdd73
--- /dev/null
+++ b/widgets/BOXTailoring/nls/strings.js
@@ -0,0 +1,7 @@
+define({
+ root: ({
+ _widgetLabel: "BOXTailoring"
+ }),
+ "es": 1,
+ "zh-cn": 1
+});
\ No newline at end of file
diff --git a/widgets/BOXTailoring/nls/zh-cn/strings.js b/widgets/BOXTailoring/nls/zh-cn/strings.js
new file mode 100644
index 0000000..81016a9
--- /dev/null
+++ b/widgets/BOXTailoring/nls/zh-cn/strings.js
@@ -0,0 +1,5 @@
+define(
+ ({
+ _widgetLabel: "BOX裁剪"
+ })
+);
\ No newline at end of file
diff --git a/widgets/LeftNavigationBar/Widget.js b/widgets/LeftNavigationBar/Widget.js
index 8380776..2d557da 100644
--- a/widgets/LeftNavigationBar/Widget.js
+++ b/widgets/LeftNavigationBar/Widget.js
@@ -331,7 +331,7 @@
},
begin: function (data) {
var that = this;
-
+ window.mySanweiShujuOpens = {};//全局scene.open资源
var a = null;
layui.use(function () {
@@ -388,6 +388,8 @@
that[item.id] = scene.open(host + partOfUrl, undefined, {
autoSetView: false //不自动定位
});
+
+ window.mySanweiShujuOpens[item.id] = that[item.id];
// console.log(222)
topic.publish('appendTilt', 'Layermanagement', item);
topic.publish('appendTiltS', 'spatialAnalysis', item);
@@ -513,7 +515,8 @@
that[obj.data.id] = scene.open(host + partOfUrl, undefined, {
autoSetView: false //不自动定位
});
- // console.log(333)
+ window.mySanweiShujuOpens[obj.data.id] = that[obj.data.id];
+
topic.publish('appendTilt', 'Layermanagement', obj.data);
topic.publish('appendTiltS', 'spatialAnalysis', obj.data);
topic.publish('addLayersLegends', 'legends', obj.data);
diff --git a/widgets/digTheEarth/Widget.js b/widgets/digTheEarth/Widget.js
index 0288d8d..4cafa8e 100644
--- a/widgets/digTheEarth/Widget.js
+++ b/widgets/digTheEarth/Widget.js
@@ -157,7 +157,9 @@
if (that.handlerPolygon.deactivate) {
that.handlerPolygon.deactivate();
}
- that.tooltip.setVisible(false);
+ if(that.tooltip.setVisible){
+ that.tooltip.setVisible(false);
+ }
},
onOpen: function () {
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