From 7e48b9940384d66b7f6e57449cb06c9dc854cf76 Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Sat, 19 Jun 2021 14:58:56 +0800
Subject: [PATCH] 保护区加到图层管理
---
widgets/instructions/Widget.js | 306 +++++++++++++++++++++++++++++---------------------
1 files changed, 177 insertions(+), 129 deletions(-)
diff --git a/widgets/instructions/Widget.js b/widgets/instructions/Widget.js
index 1879a54..526a624 100644
--- a/widgets/instructions/Widget.js
+++ b/widgets/instructions/Widget.js
@@ -3,161 +3,209 @@
// 模块描述:显示坐标
///////////////////////////////////////////////////////////////////////////
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-instructions',
- name: 'instructions',
- layers: {},
- startup: function () {
- // 暴露在外的接口
- var that = this,
- url = 'http://171.34.76.171:8880/pyh-station/metaWetlandProtect/queryNameAndIdAssembleMap',
- token = "Bearer eyJhbGciOiJIUzUxMiJ9.eyJpc3MiOiJlY2hpc2FuIiwic3ViIjoiYWRtaW4iLCJpYXQiOjE2MjMzOTIwNTcsImV4cCI6MTYyNTk4NDA1N30.wyhtQWDfyBM4Wvu9x_GpzWErqDkZ3J-PWEjyzoaHT9w6mMBenso5q0ZdnFueCZaCOjsHM5AMwLawATT0Zqc4aQ";
- axios.get(url, {
- headers: {
- "token": token
- }
- }).then((res) => {
- if (res.data.code == 200) {
- var data = res.data.data;
- that.beginLayuiDropdown(data)
+ '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-instructions',
+ name: 'instructions',
+ layers: {},
+ startup: function () {
+
+ // 暴露在外的接口
+ var that = this,
+ url = 'http://171.34.76.171:8880/pyh-station/metaWetlandProtect/queryNameAndIdAssembleMap',
+ token = "Bearer eyJhbGciOiJIUzUxMiJ9.eyJpc3MiOiJlY2hpc2FuIiwic3ViIjoiYWRtaW4iLCJpYXQiOjE2MjMzOTIwNTcsImV4cCI6MTYyNTk4NDA1N30.wyhtQWDfyBM4Wvu9x_GpzWErqDkZ3J-PWEjyzoaHT9w6mMBenso5q0ZdnFueCZaCOjsHM5AMwLawATT0Zqc4aQ";
+ axios.get(url, {
+ headers: {
+ "token": token
+ }
+ }).then((res) => {
+ if (res.data.code == 200) {
+ var data = res.data.data;
+ that.beginLayuiDropdown(data)
- }
- })
+ }
+ })
- },
- beginLayuiDropdown: function (data) {
- var that = this;
- var d = [];
- for (var k in data) {
- var obj = {
- title: data[k].NAME,
- id: data[k].id,
- }
- if (data[k].seviceUrl) {
- obj.src = data[k].seviceUrl
- }
- d.push(obj)
+ },
+ beginLayuiDropdown: function (data) {
+ var that = this;
+ var d = [];
+ for (var k in data) {
+ var obj = {
+ title: data[k].NAME,
+ id: data[k].id,
+ }
+ if (data[k].seviceUrl) {
+ obj.src = data[k].seviceUrl
+ }
+ d.push(obj)
- }
- layui.use(['dropdown', 'util', 'layer', 'table'], function () {
- var dropdown = layui.dropdown,
- util = layui.util,
- layer = layui.layer,
- table = layui.table,
- $ = layui.jquery;
+ }
+ layui.use(['dropdown', 'util', 'layer', 'table'], function () {
+ var dropdown = layui.dropdown,
+ util = layui.util,
+ layer = layui.layer,
+ table = layui.table,
+ $ = layui.jquery;
- dropdown.render({
- elem: '.demo1',
- data: d,
- trigger: 'hover',
- className: 'site-dropdown-demo',
- click: function (obj) {
- //点击事件
- // layer.tips('点击了:' + obj.title, this.elem, { tips: [1, '#5FB878'] })
- var str = obj.title;
+ dropdown.render({
+ elem: '.demo1',
+ data: d,
+ trigger: 'hover',
+ className: 'site-dropdown-demo',
+ click: function (obj) {
+ //点击事件
+ // layer.tips('点击了:' + obj.title, this.elem, { tips: [1, '#5FB878'] })
+ var str = obj.title;
- $('.jimu-widget-instructions').find('.instructions-title').empty().append(str);
+ $('.jimu-widget-instructions').find('.instructions-title').empty().append(str);
- for (var i = 0; i < d.length; i++) {
- if (that['layer' + d[i].id]) {
- that.map.imageryLayers.remove(that['layer' + d[i].id]);
- }
- }
+ for (var i = 0; i < d.length; i++) {
+ var itemObj = {};
- if (obj.src) {
- $.ajax({
- url: obj.src + '/maps.json',
- type: 'get',
- dataType: 'JSON',
- success: function (result) {
+ itemObj.src = d[i].src;
- that['layer' + obj.id] = that.map.imageryLayers.addImageryProvider(new Cesium.SuperMapImageryProvider({
- url: result[0].path,
- }));
+ itemObj.title = d[i].title;
- that['layer' + obj.id].alpha = 1;
+ itemObj.id = 'layer' + d[i].id;
- that['layer' + obj.id].getViewableRectangle().then(function (rectangle) {
- return that.map.camera.flyTo({
- destination: rectangle
- });
- });
- }
- })
- } else {
+ if (that[itemObj.id]) {
- layui.use(function () { //亦可加载特定模块:layui.use(['layer', 'laydate', function(){
- //得到各种内置组件
- var layer = layui.layer //弹层
- // layer.msg('请先填写关键字', { icon: 1, time: 1000, shift: 6 });
- layer.tips('暂无该服务', '.jimu-widget-instructions', {
- tips: [2, '#FF5722']
- });
- })
- }
+ itemObj.alpha = that[itemObj.id].alpha;
+
+ that[itemObj.id].show = false;
+
+ topic.publish('removeItem', 'Layermanagement', itemObj);
+
+ }
+ }
+
+ if (obj.src) {
+
+ var itemObj = {};
+
+ itemObj.src = obj.src;
+
+ itemObj.title = obj.title;
+
+ itemObj.id = 'layer' + obj.id;
+
+
+ if (that[itemObj.id]) {
+
+ itemObj.alpha = that[itemObj.id].alpha;
+
+ that[itemObj.id].show = true;
+
+ that[itemObj.id].getViewableRectangle().then(function (rectangle) {
+ return that.map.camera.flyTo({
+ destination: rectangle
+ });
+ });
+
+ topic.publish('appendItem', 'Layermanagement', itemObj, that[itemObj.id]);
+
+ } else {
+ itemObj.alpha = 1;
+
+ $.ajax({
+ url: itemObj.src + '/maps.json',
+ type: 'get',
+ dataType: 'JSON',
+ success: function (result) {
+
+ that[itemObj.id] = that.map.imageryLayers.addImageryProvider(new Cesium.SuperMapImageryProvider({
+ url: result[0].path,
+ }));
+
+ that[itemObj.id].alpha = 1;
+
+ topic.publish('appendItem', 'Layermanagement', itemObj, that[itemObj.id]);
+
+ that[itemObj.id].getViewableRectangle().then(function (rectangle) {
+ return that.map.camera.flyTo({
+ destination: rectangle
+ });
+ });
+
+ }
+ })
+
+ }
+
+ } else {
+
+ layui.use(function () { //亦可加载特定模块:layui.use(['layer', 'laydate', function(){
+ //得到各种内置组件
+ var layer = layui.layer //弹层
+ // layer.msg('请先填写关键字', { icon: 1, time: 1000, shift: 6 });
+ layer.tips('暂无该服务', '.jimu-widget-instructions', {
+ tips: [2, '#FF5722']
+ });
+ })
+ }
- }
- });
- });
- },
- closeToolBox: function (item) {},
+ }
+ });
+ });
+ },
+ closeToolBox: function (item) {},
- onOpen: function () {
- //面板打开的时候触发 (when open this panel trigger)
- },
+ onOpen: function () {
+ //面板打开的时候触发 (when open this panel trigger)
+ },
- onClose: function () {
- //面板关闭的时候触发 (when this panel is closed trigger)
- },
+ onClose: function () {
+ //面板关闭的时候触发 (when this panel is closed trigger)
+ },
- onMinimize: function () {
- this.resize();
- },
+ onMinimize: function () {
+ this.resize();
+ },
- onMaximize: function () {
- this.resize();
- },
+ onMaximize: function () {
+ this.resize();
+ },
- resize: function () {
+ resize: function () {
- },
- begin: function () {},
+ },
+ begin: function () {},
- destroy: function () {
- //销毁的时候触发
- //todo
- //do something before this func
- this.inherited(arguments);
- }
+ destroy: function () {
+ //销毁的时候触发
+ //todo
+ //do something before this func
+ this.inherited(arguments);
+ }
- });
- });
\ No newline at end of file
+ });
+ });
\ No newline at end of file
--
Gitblit v1.9.3