From da0872bd7b0056b0cd35b90dff8f8cfce2024aba Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Fri, 25 Jun 2021 17:33:49 +0800
Subject: [PATCH] 部分修改
---
widgets/spatialAnalysis/Widget.js | 254 +++++++++++++++++++++++++++++++++-----------------
1 files changed, 168 insertions(+), 86 deletions(-)
diff --git a/widgets/spatialAnalysis/Widget.js b/widgets/spatialAnalysis/Widget.js
index 62e479c..e3673aa 100644
--- a/widgets/spatialAnalysis/Widget.js
+++ b/widgets/spatialAnalysis/Widget.js
@@ -45,11 +45,11 @@
classs: 'profileAnalysis-tool',
img: './images/addL/剖面分析.png'
}
- // , {//做好静态,
- // name: '建造实体',
- // classs: 'modelDiagram-tool',
- // img: './images/addL/pdpx.png'
- // }
+ , {//做好静态,
+ name: '建造实体',
+ classs: 'modelDiagram-tool',
+ img: './images/addL/pdpx.png'
+ }
// , {//https://blog.csdn.net/supermapsupport/article/details/100134590
// //需要iServer发布成三维服务
// name: '坡度分析',
@@ -66,11 +66,21 @@
classs: 'digTheEarth-tool',
img: './images/addL/pdpx.png'
}
- // , {//方量分析//做好
- // name: '方量分析',
- // classs: 'volumeAnalysis-tool',
- // img: './images/addL/pdpx.png'
- // }
+ , {//方量分析//做好
+ name: '方量分析',
+ classs: 'volumeAnalysis-tool',
+ img: './images/addL/pdpx.png'
+ },
+ {//通视分析
+ name: '通视分析',
+ classs: 'throughSee-tool',
+ img: './images/addL/pdpx.png'
+ },
+ {//平面裁剪
+ name: '平面裁剪',
+ classs: 'clippingPlanes-tool',
+ img: './images/addL/pdpx.png'
+ }
];
that.beginSpatialAnalysis(domHtmls);
@@ -121,6 +131,21 @@
classs: 'spatialQuery-tool',
img: './images/addL/pdpx.png'
}
+ , {//多边形裁剪
+ name: '多边形裁剪',
+ classs: 'polygonClipping-tool',
+ img: './images/addL/pdpx.png'
+ },
+ {//通视分析
+ name: '通视分析',
+ classs: 'throughSee-tool',
+ img: './images/addL/pdpx.png'
+ },
+ {//平面裁剪
+ name: '平面裁剪',
+ classs: 'clippingPlanes-tool',
+ img: './images/addL/pdpx.png'
+ }
,
{//建造模型
name: '建造模型',
@@ -158,6 +183,7 @@
})
},
+ promise: 'NODATA',
beginSpatialAnalysis: function (domHtmls) {
var that = this;
var domHtmls = domHtmls;
@@ -235,23 +261,33 @@
topic.publish('beginSpatialQuery', 'beginSpatialQuery');
})
- // var datas = [//layui舍弃
- // {
- // title: '默认:天地图影像'
- // // , child: [
- // // {
- // // title: 'menu item 3-2-1'
- // // , id: 105
- // // }
- // // ]
- // }
- // ]
- // // that.beginRool(datas);
- // that.datas = datas;
- // // 注册添加工具事件--规定操作图层
- // topic.subscribe("addSelectLayerTool", lang.hitch(this, this.addSelectLayerTool));
- // // 注册删除工具事件--规定操作图层
- // topic.subscribe("removeSelectLayerTool", lang.hitch(this, this.removeSelectLayerTool));
+ //多边形裁剪
+ $('.polygonClipping-tool').click(function () {
+ that.closeOnceUse();
+ $(".jimu-widget-polygonClipping").show();
+ topic.publish('beginpolygonClipping', 'beginpolygonClipping');
+ })
+
+ //通视分析
+ $('.throughSee-tool').click(function () {
+ that.closeOnceUse();
+ $(".jimu-widget-throughSee").show();
+ topic.publish('beginthroughSee', 'beginthroughSee');
+ })
+
+ //平面裁剪
+ $('.clippingPlanes-tool').click(function () {
+ that.closeOnceUse();
+ // console.log(that.promise, 22222222222)
+ if (that.promise == 'NODATA') {
+ layer.tips('请选择三维倾斜数据中的图层支持!', '.SelectLayerTool', {
+ tips: [3, 'red']
+ });
+ } else {
+ $(".jimu-widget-clippingPlanes").show();
+ topic.publish('beginclippingPlanes', that.promise);
+ }
+ })
$('.SelectLayerTool').click(() => {
$('#SelectLayerToolItem').toggle();
@@ -265,7 +301,21 @@
this.liClick('默认:天地图影像', '默认:天地图影像');
},
- liClick: function (itemid, name) {//点击事件
+ morenliClick: (itemid, name) => {
+ var dom = $('.SelectLayerTool');
+ dom.empty();
+ var str = `${name} <i class="layui-icon layui-icon-down layui-font-12"></i>`
+ dom.append(str);
+ // console.log('数据错误默认')
+ this.promise = 'NODATA';
+ //关闭平面裁剪
+ if ($(".jimu-widget-clippingPlanes").is(":visible")) {//判断是否隐藏
+ $(".jimu-widget-clippingPlanes").hide();
+ topic.publish('closesclippingPlanes');
+ }
+ },
+ liClick: function (itemid, name, ourdata = 1) {//点击事件
+ var that = this;
var liList = $(`[itemid='${itemid}s']`);
// console.log(liList);
liList.click(() => {
@@ -277,6 +327,47 @@
dom.append(str);
dom.attr("title", name);
$('#SelectLayerToolItem').hide();
+ // console.log(ourdata);
+ // 定位
+ // console.log(name)
+ 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))
+ });
+ }
+ if (ourdata.src.indexOf('.openrealspace') != -1) {
+ // console.log('数据正确');
+ //关闭平面裁剪
+ if ($(".jimu-widget-clippingPlanes").is(":visible")) {//判断是否隐藏
+ $(".jimu-widget-clippingPlanes").hide();
+ topic.publish('closesclippingPlanes');
+ }
+ that.promise = {
+ src: ourdata.src,
+ name: ourdata.serviceName
+ };
+
+ } else {
+ // console.log('数据错误');
+ that.promise = 'NODATA';
+ //关闭平面裁剪
+ if ($(".jimu-widget-clippingPlanes").is(":visible")) {//判断是否隐藏
+ $(".jimu-widget-clippingPlanes").hide();
+ topic.publish('closesclippingPlanes');
+ }
+ }
+ } else {
+ // console.log('数据错误没有data');
+ that.promise = 'NODATA';
+ //关闭平面裁剪
+ if ($(".jimu-widget-clippingPlanes").is(":visible")) {//判断是否隐藏
+ $(".jimu-widget-clippingPlanes").hide();
+ topic.publish('closesclippingPlanes');
+ }
+ }
+
})
},
appendItemS: function (item, obj, layer) {
@@ -306,16 +397,23 @@
$("#SelectLayerToolItemTitle").append(liItem);
}
- that.liClick(obj.id, obj.title);
+ that.liClick(obj.id, obj.title, obj);
}
},
removeItemS: function (item, obj) {
- // console.log('r1')
+ // console.log(obj, 'r1')
+ var that = this;
if (item == this.name) {
var liList = $("#SelectLayerToolItemTitle li");
for (var i = 0; i < liList.length; i++) {
if ($(liList[i]).attr('itemid') && $(liList[i]).attr('itemid') == obj.id + 's') {
$(liList[i]).remove();
+ var dom = $('.SelectLayerTool').attr("title");
+ // console.log(dom == obj.title, this.liClick)
+ if (dom == obj.title) {
+ that.morenliClick('默认:天地图影像', '默认:天地图影像');
+ that.promise = 'NODATA';
+ }
}
}
@@ -355,16 +453,23 @@
$("#SelectLayerToolItemTitle").append(liItem);
}
- that.liClick(obj.id, obj.title);
+ that.liClick(obj.id, obj.title, obj);
}
},
removeTiltS: function (item, obj) {
+ // console.log(obj, 'r2')
// console.log('r2')
+ var that = this;
if (item == this.name) {
var liList = $("#SelectLayerToolItemTitle li");
for (var i = 0; i < liList.length; i++) {
if ($(liList[i]).attr('itemid') && $(liList[i]).attr('itemid') == obj.id + 's') {
$(liList[i]).remove();
+ var dom = $('.SelectLayerTool').attr("title");
+ if (dom == obj.title) {
+ that.morenliClick('默认:天地图影像', '默认:天地图影像');
+ that.promise = 'NODATA';
+ }
}
}
@@ -375,42 +480,24 @@
}
},
- // datas: [],//layui舍弃
- // addSelectLayerTool: function (num, val) {
- // console.log(num, val);
- // var that = this
- // , d = that.datas;
- // //三维数据处理 添加全部 9 添加时删除 10 删除全部 6 //添加单个 9 添加时删除 10 删除全部 6
- // // var sanwei = {};
- // // if (num == 9) {
- // // sanwei.title = '三维倾斜数据'
- // // }
- // // d.push({
- // // title: val.title
- // // })
- // // that.beginRool(that.datas);
+ // 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);
+ // }
+ // });
+ // });
// },
- // removeSelectLayerTool: function (num, val) {
- // console.log(num, val)
- // },
- 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();
@@ -464,29 +551,24 @@
$(".jimu-widget-spatialQuery").hide();
topic.publish('closesSpatialQuery');
}
-
+ //关闭多边形裁剪
+ if ($(".jimu-widget-polygonClipping").is(":visible")) {//判断是否隐藏
+ $(".jimu-widget-polygonClipping").hide();
+ topic.publish('closespolygonClipping');
+ }
+ //关闭通视分析
+ if ($(".jimu-widget-throughSee").is(":visible")) {//判断是否隐藏
+ $(".jimu-widget-throughSee").hide();
+ topic.publish('closesthroughSee');
+ }
+ //关闭平面裁剪
+ if ($(".jimu-widget-clippingPlanes").is(":visible")) {//判断是否隐藏
+ $(".jimu-widget-clippingPlanes").hide();
+ topic.publish('closesclippingPlanes');
+ }
},
onOpen: function () {
- //面板打开的时候触发 (when open this panel trigger)
- // var domHtmls = [
- // {
- // name: '可视分析',
- // classs: 'visibleArea-tool'
- // }, {
- // name: '剖面分析',
- // classs: 'profileAnalysis-tool'
- // }, {
- // name: '坡度分析',
- // classs: 'slope-tool'
- // },
- // ];
- // var dom = $('#spatialAnalysis-main');
- // var str = '';
- // for (var k in domHtmls) {
- // str += `<li class="${domHtmls[k].classs}"><i></i> <span>${domHtmls[k].name}</span></li>`
- // }
- // dom.replaceWith(str);
},
onClose: function () {
--
Gitblit v1.9.3