/////////////////////////////////////////////////////////////////////////// // Copyright © 2019 zhongsong. All Rights Reserved. // 模块描述: 底图 /////////////////////////////////////////////////////////////////////////// define([ 'dojo/_base/declare', 'dojo/_base/lang', 'dojo/_base/array', 'dojo/_base/html', 'dojo/topic', 'dojo/on', '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, on, BaseWidget, aspect, string, utils ) { return declare([BaseWidget], { baseClass: 'jimu-widget-Basemap', name: 'Basemap', tileset: null, startup: function () { // 暴露在外的接口 topic.subscribe("closeMap", lang.hitch(this, this.closeBaseMap)); this.inherited(arguments); $(".cesium-baseLayerPicker-sectionTitle").eq(0).html("底图"); $(".cesium-baseLayerPicker-sectionTitle").eq(1).html("地形"); $('.jimu-widget-Basemap span').click(function () { topic.publish('closeTool', this.name); topic.publish('closeZtree', this.name); topic.publish('closeNavigation', this.name); $(".jimu-widget-Layermanagement .layer-list").stop().hide(); if ($(".jimu-widget-Layermanagement .layer-list").is(":hidden")) { $(".jimu-widget-Layermanagement .tree-layer-opcity").stop().hide(); } if ($('.cesium-baseLayerPicker-dropDown').hasClass('cesium-baseLayerPicker-dropDown-visible') == true) { $('.cesium-baseLayerPicker-dropDown').removeClass('cesium-baseLayerPicker-dropDown-visible') } else { $('.cesium-baseLayerPicker-dropDown').addClass('cesium-baseLayerPicker-dropDown-visible') } }); // var self = this; // var scene = this.map.scene; // this.map.scene.globe.depthTestAgainstTerrain = false; //添加S3M图层服务 //var promise = scene.open("http://61.131.223.3:8090/iserver/services/3D-WLQX/rest/realspace"); // var promise = scene.open("http://61.131.223.3:8090/iserver/services/3D-WLQXS3MB/rest/realspace"); // var promises = scene.open("http://61.131.223.3:8090/iserver/services/3D-WLQXRGJM/rest/realspace"); //定位到场景 // Cesium.loadJson('http://61.131.223.3:8090/iserver/services/3D-WLQX/rest/realspace/scenes.json').then(function (scenes) { // var sname = scenes[0].name; // Cesium.loadJson('http://61.131.223.3:8090/iserver/services/3D-WLQX/rest/realspace/scenes/' + sname + '.json').then(function (jsonData) { // var cameraPosition = jsonData.camera; // var tilt = Cesium.Math.toRadians(cameraPosition.tilt - 90); // Cesium.when(promise, function (layer) { // /*for (var i = 0; i < layer.length; i++) { // layer[i].style3D.bottomAltitude = 60; // layer[i].refresh(); // }*/ // self.tileset = layer[0]; // //设置相机位置、视角,便于观察场景 // scene.camera.setView({ // destination: Cesium.Cartesian3.fromDegrees(115.728604, 28.786312, 58000), // //heading : Cesium.Math.toRadians(175.0), // // pitch : -55.0, // // roll : 10.0 // }); // //设置相机位置、视角,便于观察场景 // // topic.publish("gis/map/flyTo", { // // 'longitude': 115.728604, // // 'latitude': 28.786312, // // "height": 58000, // // "heading": 290.02, // // "pitch": -10.17, // // "roll": 359.86 // // }); //进行地图定位 // if (!scene.pickPositionSupported) { // alert('不支持深度纹理,无法拾取位置!'); // } // }, function (e) { // }); // }); // }); // var tit = dojo.query(".cesium-baseLayerPicker-sectionTitle")[1]; // html.create('div', { // style: "font-size: 14px;margin-top: 3px;float: right;", // innerHTML: "倾斜三维" // }, tit); // var qxNode = html.create('input', { // style: "margin-top: 6px;margin-right: 5px;float: right;", // type: "checkbox", // checked: "checked" // }, tit); // on(qxNode, "click", lang.hitch(this, this._switchTile)) }, // _switchTile: function () { // if (this.tileset.visible) { // this.tileset.visible = false; // } else { // this.tileset.visible = true; // } // }, closeBaseMap: function (item) { if (item != this.name) { if ($('.cesium-baseLayerPicker-dropDown').hasClass('cesium-baseLayerPicker-dropDown-visible') == true) { $('.cesium-baseLayerPicker-dropDown').removeClass('cesium-baseLayerPicker-dropDown-visible') } } }, onOpen: function () { //面板打开的时候触发 (when open this panel trigger) }, 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); } }); });