From 1a2c1d005bf7de2528f73638fb24d31da812aad5 Mon Sep 17 00:00:00 2001
From: liuyg <376836862@qq.com>
Date: Tue, 22 Jun 2021 17:40:13 +0800
Subject: [PATCH] 增加模型
---
widgets/spatialAnalysis/Widget.js | 342 +++++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 248 insertions(+), 94 deletions(-)
diff --git a/widgets/spatialAnalysis/Widget.js b/widgets/spatialAnalysis/Widget.js
index 448dc0b..95e1228 100644
--- a/widgets/spatialAnalysis/Widget.js
+++ b/widgets/spatialAnalysis/Widget.js
@@ -31,138 +31,292 @@
var that = this;
// 暴露在外的接口
- var domHtmls = [
+ topic.subscribe("closeOnceUse", lang.hitch(this, this.closeOnceUse));
+
+ function createTooltip(frameDiv) {//抄录createTooltip函数
+
+ var tooltip = function (frameDiv) {
+
+ var div = document.createElement('DIV');
+ div.className = "twipsy right";
+
+ var arrow = document.createElement('DIV');
+ arrow.className = "twipsy-arrow";
+ div.appendChild(arrow);
+
+ var title = document.createElement('DIV');
+ title.className = "twipsy-inner";
+ div.appendChild(title);
+
+ this._div = div;
+ this._title = title;
+ this.message = '';
+
+ // add to frame div and display coordinates
+ frameDiv.appendChild(div);
+ var that = this;
+ div.onmousemove = function (evt) {
+ that.showAt({ x: evt.clientX, y: evt.clientY }, that.message);
+ };
+ };
+
+ tooltip.prototype.setVisible = function (visible) {
+ this._div.style.display = visible ? 'block' : 'none';
+ };
+
+ tooltip.prototype.showAt = function (position, message) {
+ if (position && message) {
+ this.setVisible(true);
+ this._title.innerHTML = message;
+ this._div.style.left = position.x + 10 + "px";
+ this._div.style.top = (position.y - this._div.clientHeight / 2) + "px";
+ this.message = message;
+ }
+ };
+
+ return new tooltip(frameDiv);
+ }
+ window.MYcreateTooltip = createTooltip;//全局使用
+
+ var domHtmls = [//默认
{
name: '可视分析',
- classs: 'visibleArea-tool'
+ classs: 'visibleArea-tool',
+ img: './images/addL/ksy.png'
}, {
name: '剖面分析',
- classs: 'profileAnalysis-tool'
- }, {
- name: '坡度分析',
- classs: 'slope-tool'
+ classs: 'profileAnalysis-tool',
+ img: './images/addL/剖面分析.png'
}
+ // , {//做好静态,
+ // name: '建造实体',
+ // classs: 'modelDiagram-tool',
+ // img: './images/addL/pdpx.png'
+ // }
+ // , {//https://blog.csdn.net/supermapsupport/article/details/100134590
+ // //需要iServer发布成三维服务
+ // name: '坡度分析',
+ // classs: 'slope-tool',
+ // img: './images/addL/pdpx.png'
+ // }
+ // , {//SQL查询,//做好
+ // name: 'SQL查询',
+ // classs: 'SQLQuery-tool',
+ // img: './images/addL/pdpx.png'
+ // }
+ , {//地形开挖,//做好
+ name: '地形开挖',
+ classs: 'digTheEarth-tool',
+ img: './images/addL/pdpx.png'
+ }
+ // , {//方量分析//做好
+ // name: '方量分析',
+ // classs: 'volumeAnalysis-tool',
+ // img: './images/addL/pdpx.png'
+ // }
];
- var dom = $('#spatialAnalysis-main');
- var str = '';
+
+ that.beginSpatialAnalysis(domHtmls);
+ var isit = false;
+ $('.ccsliu').dblclick(() => {//测试开关 点击图例其他的图片
+
+ if (isit) {
+ var domHtmls2 = [
+ {
+ name: '可视分析',
+ classs: 'visibleArea-tool',
+ img: './images/addL/ksy.png'
+ }, {
+ name: '剖面分析',
+ classs: 'profileAnalysis-tool',
+ img: './images/addL/剖面分析.png'
+ }
+ , {//https://blog.csdn.net/supermapsupport/article/details/100134590
+ //需要iServer发布成三维服务
+ name: '坡度分析',
+ classs: 'slope-tool',
+ img: './images/addL/pdpx.png'
+ }
+ , {//做好静态,
+ name: '建造实体',
+ classs: 'modelDiagram-tool',
+ img: './images/addL/pdpx.png'
+ }
+ , {//SQL查询,//做好
+ name: 'SQL查询',
+ classs: 'SQLQuery-tool',
+ img: './images/addL/pdpx.png'
+ }
+ , {//地形开挖,//做好
+ name: '地形开挖',
+ classs: 'digTheEarth-tool',
+ img: './images/addL/pdpx.png'
+ }, {//方量分析//做好
+ name: '方量分析',
+ classs: 'volumeAnalysis-tool',
+ img: './images/addL/pdpx.png'
+ }
+ ,
+ {//建造模型
+ name: '建造模型',
+ classs: 'modesssssllll',
+ img: './images/addL/pdpx.png'
+ }
+ ,
+ {//清除模型
+ name: '清除模型',
+ classs: 'modesssss2222',
+ img: './images/addL/pdpx.png'
+ }
+ ];
+ that.beginSpatialAnalysis(domHtmls2);
+ var promise = false;
+ $('.modesssssllll').click(() => {
+ var URL_CONFIG = {
+ SCENE_CBD: 'http://www.supermapol.com/realspace/services/3D-CBDCache20200416/rest/realspace',
+ }
+ promise = this.map.scene.open(URL_CONFIG.SCENE_CBD);
+ })
+ $('.modesssss2222').click(() => {
+ if (promise) {
+ Cesium.when(promise, function (layer) {
+ for (var i = 0; i < layer.length; i++) {
+ that.map.scene.layers.remove(layer[i].name)
+ }
+ })
+ }
+ })
+ } else {
+ that.beginSpatialAnalysis(domHtmls);
+ }
+ isit = !isit;
+ })
+
+ },
+ beginSpatialAnalysis: function (domHtmls) {
+ var that = this;
+ var domHtmls = domHtmls;
+ var dom = $('#spatialAnalysis-mains');
+ dom.empty();
+ var str = '<ul>';
for (var k in domHtmls) {
str += `<li class="${domHtmls[k].classs}">
- <i></i>
+ <i class="imgs">
+ <img src="${domHtmls[k].img}" alt="">
+ </i>
<span>${domHtmls[k].name}</span>
</li>`
}
- dom.replaceWith(str);
+ str += '</ul>';
+ dom.append(str);
+ // console.log(dom, str)
+ // dom.replaceWith(str);
$('.closesspatialAnalysis').click(() => {
+ that.closeOnceUse();
$('.jimu-widget-spatialAnalysis').hide();
- // 关闭可视
- topic.publish('closev', '');
- // 关闭剖面
- topic.publish('closep', '');
- // 关闭坡度
- topic.publish('closes', '');
- $(".jimu-widget-visibleArea").hide();
- $(".jimu-widget-profileAnalysis").hide();
- $(".jimu-widget-slope").hide();
+
})
-
-
- // topic.subscribe("closeTool", lang.hitch(this, this.closeToolBox));
- // this.inherited(arguments);
- // $('.tool-bar .tool-btn span').click(function () {
- // topic.publish('closeMap', this.name);
- // topic.publish('closeZtree', this.name);
- // $('.tool-y-box').toggle();
- // })
-
// 可视分析
$('.visibleArea-tool').click(function () {
- that.map.scene.globe.depthTestAgainstTerrain = true;
- // 关闭量算
- topic.publish('closeMeasurement', 'Measurement');
- // 关闭卷帘
- topic.publish('closeRolling', 'Rolling');
- // 关闭分屏
- topic.publish('closeSplitScreen', 'SplitScreen');
- // 关闭标记
- topic.publish('closeSign', 'Sign');
- topic.publish('closeFlyRoute', 'FlyRoute');
- $('.jimu-widget-CoorPosition').hide();
- $('.jimu-widget-MapPrinting').hide();
- // 关闭可视
- // topic.publish('closev', '');
- // 关闭剖面
- topic.publish('closep', '');
- // 关闭坡度
- topic.publish('closes', '');
- $(".jimu-widget-profileAnalysis").hide();
- $(".jimu-widget-slope").hide();
- $('.tool-y-box').stop().hide();
+ that.closeOnceUse();
$(".jimu-widget-visibleArea").show();
})
// 剖面分析
$('.profileAnalysis-tool').click(function () {
- that.map.scene.globe.depthTestAgainstTerrain = true;
- // 关闭量算
- topic.publish('closeMeasurement', 'Measurement');
- // 关闭卷帘
- topic.publish('closeRolling', 'Rolling');
- // 关闭分屏
- topic.publish('closeSplitScreen', 'SplitScreen');
- // 关闭标记
- topic.publish('closeSign', 'Sign');
- topic.publish('closeFlyRoute', 'FlyRoute');
- $('.jimu-widget-CoorPosition').hide();
- $('.jimu-widget-MapPrinting').hide();
- // 关闭可视
- topic.publish('closev', '');
- // 关闭剖面
- // topic.publish('closep', '');
- // 关闭坡度
- topic.publish('closes', '');
- $(".jimu-widget-visibleArea").hide();
- $(".jimu-widget-slope").hide();
- $('.tool-y-box').stop().hide();
+ that.closeOnceUse();
$(".jimu-widget-profileAnalysis").show();
})
//坡度分析
$('.slope-tool').click(function () {
- that.map.scene.globe.depthTestAgainstTerrain = true;
- // 关闭量算
- topic.publish('closeMeasurement', 'Measurement');
- // 关闭卷帘
- topic.publish('closeRolling', 'Rolling');
- // 关闭分屏
- topic.publish('closeSplitScreen', 'SplitScreen');
- // 关闭标记
- topic.publish('closeSign', 'Sign');
- topic.publish('closeFlyRoute', 'FlyRoute');
- $('.jimu-widget-CoorPosition').hide();
- $('.jimu-widget-MapPrinting').hide();
- // 关闭可视
- topic.publish('closev', '');
- // 关闭剖面
- topic.publish ('closep', '');
- // 关闭坡度
- // topic.publish('closes', '');
- $(".jimu-widget-visibleArea").hide();
- $(".jimu-widget-profileAnalysis").hide();
- $('.tool-y-box').stop().hide();
+ that.closeOnceUse();
$(".jimu-widget-slope").show();
- topic.publish('getbeginSlope', this.beginSlope);
+ topic.publish('getbeginSlope', 'this.beginSlope');
+ })
+ //模型
+ $('.modelDiagram-tool').click(function () {
+ that.closeOnceUse();
+ $('.jimu-widget-modelDiagram').show();
+ })
+ //sql查询
+ $('.SQLQuery-tool').click(function () {
+ that.closeOnceUse();
+ $(".jimu-widget-SQLQuery").show();
+ topic.publish('beginSQL', 'this.beginSQL');
+
+ })
+ //地形开挖
+ $('.digTheEarth-tool').click(function () {
+ that.closeOnceUse('digTheEarth');
+ $(".jimu-widget-digTheEarth").show();
+ // topic.publish('beginDigTheEarth', 'beginDigTheEarth');
+
+ })
+
+ //方量分析
+ $('.volumeAnalysis-tool').click(function () {
+ that.closeOnceUse('volumeAnalysis');
+ $(".jimu-widget-volumeAnalysis").show();
+ topic.publish('beginVolumeAnalysis', 'beginVolumeAnalysis');
})
},
-
closeToolBox: function (item) {
if (item != this.name) {
$('.tool-y-box').hide();
}
},
+ closeOnceUse: function (who) {
+ var that = this;
+ that.map.scene.globe.depthTestAgainstTerrain = true;
+ // 关闭量算
+ topic.publish('closeMeasurement', 'Measurement');
+ // 关闭卷帘
+ topic.publish('closeRolling', 'Rolling');
+ // 关闭分屏
+ topic.publish('closeSplitScreen', 'SplitScreen');
+ // 关闭标记
+ topic.publish('closeSign', 'Sign');
+ topic.publish('closeFlyRoute', 'FlyRoute');
+ $('.jimu-widget-CoorPosition').hide();
+ $('.jimu-widget-MapPrinting').hide();
+ // 关闭可视
+ topic.publish('closev', '');
+ // 关闭剖面
+ topic.publish('closep', '');
+ // 关闭坡度
+ topic.publish('closes', '');
+ $(".jimu-widget-visibleArea").hide();
+ $(".jimu-widget-profileAnalysis").hide();
+ $(".jimu-widget-slope").hide();
+ $('.tool-y-box').stop().hide();
+ //关闭飞行
+ $('.jimu-widget-visualAngle').find('.v-a-Two').removeClass('on');//清楚样式
+ topic.publish('closeFly', 'closeFly');
+ //清除实体
+ this.map.entities.removeAll();
+ $(".jimu-widget-modelDiagram").hide();
+ //清除SQL查询
+ $(".jimu-widget-SQLQuery").hide();
+ topic.publish('closesSQL', 'closesSQL');
+ //关闭地形开挖
+ if ($(".jimu-widget-digTheEarth").is(":visible")) {//判断是否隐藏
+ $(".jimu-widget-digTheEarth").hide();
+ topic.publish('closesDigTheEarth');
+ }
+ //关闭方量贩分析
+ if ($(".jimu-widget-volumeAnalysis").is(":visible")) {//判断是否隐藏
+ $(".jimu-widget-volumeAnalysis").hide();
+ topic.publish('closesVolumeAnalysis');
+ }
+
+
+
+ },
onOpen: function () {
//面板打开的时候触发 (when open this panel trigger)
// var domHtmls = [
--
Gitblit v1.9.3