From 00b733dc6ae372be365a01046ead5c062d8f5617 Mon Sep 17 00:00:00 2001
From: ansel0926 <ansel0926@gmail.com>
Date: 星期二, 17 五月 2022 18:43:44 +0800
Subject: [PATCH] 更换字体图片
---
view/project/layerAnalysis.html | 154 ++++++++++++++++++++++++++++++++++-----------------
1 files changed, 102 insertions(+), 52 deletions(-)
diff --git a/view/project/layerAnalysis.html b/view/project/layerAnalysis.html
index e73dad7..81deb1f 100644
--- a/view/project/layerAnalysis.html
+++ b/view/project/layerAnalysis.html
@@ -56,9 +56,10 @@
border-radius: 6px;
background-color: #999;
}
- .layui-tree-btnGroup .layui-icon{
+
+ .layui-tree-btnGroup .layui-icon {
display: inline-block;
- color:white
+ color: white
}
</style>
@@ -68,10 +69,10 @@
layui.use(['tree'], function () {
var tree = layui.tree
isloading = true;
- var modelTree=tree.render({
+ var modelTree = tree.render({
elem: '#model-tree-list'
, data: layerMenu
- , edit:["del"]
+ , edit: ["del"]
, showCheckbox: true //鏄惁鏄剧ず澶嶉�夋
, id: 'model-tree-list'
, isJump: false //鏄惁鍏佽鐐瑰嚮鑺傜偣鏃跺脊鍑烘柊绐楀彛璺宠浆
@@ -91,7 +92,7 @@
var data = obj.data.ext; //鑾峰彇褰撳墠鐐瑰嚮鐨勮妭鐐规暟鎹�
var viewer = parent.viewer;
var Cesium = parent.Cesium;
- if (type != 'BaseMap' && type != 'Terrain' && type != 'Plotting') {
+ if (type != 'BaseMap' && type != 'Terrain' && type != 'Plotting' && type != 'DDE') {
var model = undefined;
switch (obj.data.field) {
case "Primitive": {
@@ -113,26 +114,84 @@
break;
}
case "shpFeature": {
- let path = data.path;
+ console.log("shpFeature click");
+
+ }
+ }
+ if (model != undefined) {
+ viewer.flyTo(model, {
+ offset: {
+ heading: 0,
+ pitch: -90
+ },
+ }).then(function () {
+ // if (obj.data.field == 'Primitive') {
+ // setTimeout(() => {
+ // dptiles(model.root.children);
+ // }, 5000);
+ // }
+ });
+ }
+
+ }
+ else if (type == 'DDE') {
+ var lon, lat, alt;
+ lon = obj.data.lon;
+ lat = obj.data.lat;
+ alt = obj.data.altitude;
+ console.log(lon, lat, alt);
+ if (lon != undefined && lat != undefined && alt != undefined) {
+ let flyPromise = viewer.camera.flyTo({
+ duration: 3,
+ destination: Cesium.Cartesian3.fromDegrees(Number(lon), Number(lat), alt),
+ orientation: {
+ heading: Cesium.Math.toRadians(0), //缁曞瀭鐩翠簬鍦板績鐨勮酱鏃嬭浆
+ pitch: Cesium.Math.toRadians(-90), //缁曠含搴︾嚎鏃嬭浆
+ roll: Cesium.Math.toRadians(0) //缁曠粡搴︾嚎鏃嬭浆
+ },
+ });
+ }
+ }
+ }
+ , oncheck: function (obj) {
+ if (isloading) {
+ return;
+ }
+ var ischeck = obj.checked;
+ var objData = obj.data;
+ var type = objData.field;
+
+ if (type == "shpFeature") {//濡傛灉鏄� shp鍥惧眰
+ if(ischeck){
+ let data= obj.data.ext;
+
+ let path = data.path;
let shpArray = JSON.parse(path);
var shpPromises = [];
for (let i = 0; i < shpArray.length; i++) {
- shpPromises.push( Cesium.loadBlob(parent.httpConfig.nginxUrl + shpArray[i]));
- }
-
+ shpPromises.push(parent.Cesium.loadBlob(parent.httpConfig.nginxUrl + shpArray[i]));
+ }
+
+ //鍒ゆ柇鏄惁瀛樺湪
+ let len = parent.viewer.imageryLayers.length;
+ if (parent.layerMap.get(obj.data.id) != null) {
+ parent.vMsg.warning("鍥惧眰宸茬粡瀛樺湪鏃犻渶閲嶅鍔犺浇");
+ return;
+ }
+
var layer = null;
parent.Cesium.when.all(shpPromises, function (files) {
- for(let i=0;i<shpArray.length;i++){
+ for (let i = 0; i < shpArray.length; i++) {
files[i].name = shpArray[i];
}
-
+
var shpProvider = new parent.VectorTileImageryProvider({
source: files,
- zIndex: 99,
+ zIndex: len,
removeDuplicate: false,
defaultStyle: {
- outlineColor: "rgb(255,0,0)",
- fillColor: "rgba(255,0,0,0.6)",
+ outlineColor: data.color,
+ fillColor: data.color,
lineWidth: 1,
fill: false,
tileCacheSize: 200,
@@ -156,7 +215,8 @@
simplify: false
});
shpProvider.readyPromise.then(function () {
- layer = parent.viewer.imageryLayers.addImageryProvider(shpProvider);
+ parent.layerMap.set(obj.data.id, len);
+ layer = parent.viewer.imageryLayers.addImageryProvider(shpProvider, len);
parent.viewer.flyTo(layer);
parent.Cesium.Camera.DEFAULT_VIEW_RECTANGLE = shpProvider.rectangle;
@@ -164,34 +224,21 @@
});
});
-
-
+ }else{//绉婚櫎shp
+ var id = obj.data.id;
+ var index = parent.layerMap.get(id);
+
+ parent.viewer.imageryLayers.remove(parent.viewer.imageryLayers.get(index),true);
+ parent.layerMap.delete(id);
+ for(let key of parent.layerMap.keys()){//鏁扮粍鐨勬父鏍�-1
+ if( parent.layerMap.get(key)>index){
+ parent.layerMap.set(key, parent.layerMap.get(key)-1);
+ }
}
}
- if (model != undefined) {
- viewer.flyTo(model, {
- offset: {
- heading: 0,
- pitch: -90
- },
- }).then(function () {
- // if (obj.data.field == 'Primitive') {
- // setTimeout(() => {
- // dptiles(model.root.children);
- // }, 5000);
- // }
- });
- }
+
+ }
- }
- }
- , oncheck: function (obj) {
- if (isloading) {
- return;
- }
- var ischeck = obj.checked;
- var objData = obj.data;
- var type = objData.field;
if (type != 'BaseMap' && type != 'Terrain' && type != 'Plotting') {
//changeChecked(ischeck, parent.getNodeById(objData.id));
/*
@@ -319,17 +366,17 @@
}
}
//zzf:闅愯棌闄ょ粯鍥捐彍鍗曚互澶栫殑鍒犻櫎鎸夐挳
- $(modelTree.config.elem[0].children[0].childNodes).each(function(){
- let parentDiv=$(this)[0].childNodes[0];
- $(parentDiv).find("div .layui-icon-delete").remove();
- if($(this)[0].dataset.id!="4"){
- let childrenDiv=$(this)[0].childNodes[1];
- $(childrenDiv).find("div .layui-icon-delete").remove();
+ $(modelTree.config.elem[0].children[0].childNodes).each(function () {
+ let parentDiv = $(this)[0].childNodes[0];
+ $(parentDiv).find("div .layui-icon-delete").remove();
+ if ($(this)[0].dataset.id != "4") {
+ let childrenDiv = $(this)[0].childNodes[1];
+ $(childrenDiv).find("div .layui-icon-delete").remove();
}
})
- function delDrawEntity(modelId){
- let updateData= {
- "ids":modelId,
+ function delDrawEntity(modelId) {
+ let updateData = {
+ "ids": modelId,
}
let token = window.localStorage.getItem("token");
$.ajax({
@@ -338,8 +385,8 @@
url: parent.httpConfig.webApiUrl + "landstamp/front/removeDrawEntity",
data: updateData,
contentType: "application/x-www-form-urlencoded",
- beforeSend:function(request){
- request.setRequestHeader("token",token);
+ beforeSend: function (request) {
+ request.setRequestHeader("token", token);
},
success: function (data) {
console.log(data)
@@ -384,7 +431,10 @@
request.setRequestHeader("token", token);
},
success: function (data) {
- layerMenu.push(data);
+ if (parent.getRootById(data.id) == null) {
+ data.isloading = false;
+ layerMenu.push(data);
+ }
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
console.log(errorThrown);
--
Gitblit v1.9.1