/////////////////////////////////////////////////////////////////////////// // Copyright © 2019 zhongsong. All Rights Reserved. // 模块描述:显示坐标 /////////////////////////////////////////////////////////////////////////// define([ 'dojo/_base/declare', 'dojo/_base/lang', 'dojo/_base/array', 'dojo/_base/html', 'dojo/topic', 'jimu/BaseWidget', 'jimu/utils', 'jimu/css!libs/zTree_v3/css/zTreeStyle/zTreeStyle.css', 'libs/zTree_v3/js/jquery.ztree.all' ], function (declare, lang, array, html, topic, BaseWidget, aspect, string, utils ) { return declare([BaseWidget], { baseClass: 'jimu-widget-spatialAnalysis', name: 'spatialAnalysis', layers: {}, startup: function () { var that = this; // 暴露在外的接口 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', img: './images/addL/ksy.png' }, { name: '剖面分析', 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' // } ]; 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 = ''; dom.append(str); // console.log(dom, str) // dom.replaceWith(str); $('.closesspatialAnalysis').click(() => { that.closeOnceUse(); $('.jimu-widget-spatialAnalysis').hide(); }) // 可视分析 $('.visibleArea-tool').click(function () { that.closeOnceUse(); $(".jimu-widget-visibleArea").show(); }) // 剖面分析 $('.profileAnalysis-tool').click(function () { that.closeOnceUse(); $(".jimu-widget-profileAnalysis").show(); }) //坡度分析 $('.slope-tool').click(function () { that.closeOnceUse(); $(".jimu-widget-slope").show(); 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 = [ // { // name: '可视分析', // classs: 'visibleArea-tool' // }, { // name: '剖面分析', // classs: 'profileAnalysis-tool' // }, { // name: '坡度分析', // classs: 'slope-tool' // }, // ]; // var dom = $('#spatialAnalysis-main'); // var str = ''; // for (var k in domHtmls) { // str += `
  • ${domHtmls[k].name}
  • ` // } // dom.replaceWith(str); }, onClose: function () { //面板关闭的时候触发 (when this panel is closed trigger) }, onMinimize: function () { this.resize(); }, onMaximize: function () { this.resize(); }, resize: function () { }, destroy: function () { //销毁的时候触发 //todo //do something before this func this.inherited(arguments); } }); });