///////////////////////////////////////////////////////////////////////////
|
// 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);
|
}
|
|
});
|
});
|