From 3369585b980d1be2fd61a76d4cdccd3818604463 Mon Sep 17 00:00:00 2001
From: ansel0926 <ansel0926@gmail.com>
Date: 星期二, 17 五月 2022 13:59:50 +0800
Subject: [PATCH] 可视距离
---
assets/js/indexAI.js | 45 ++++++++++++++++++++++
libs/Cesiumplus/CesiumDraw.js | 12 +++--
assets/map/map3D.js | 15 ++++---
view/index.html | 6 +++
4 files changed, 66 insertions(+), 12 deletions(-)
diff --git a/assets/js/indexAI.js b/assets/js/indexAI.js
index ee9e591..1a0b5fa 100644
--- a/assets/js/indexAI.js
+++ b/assets/js/indexAI.js
@@ -518,4 +518,49 @@
mouseClickHandler = mouseClickHandler && mouseClickHandler.destroy();
}
});
+ let visualDistance=window.localStorage.getItem("visualDistance");
+ if(visualDistance!=null){
+ $("#visualDistanceInput").val(visualDistance)
+ }
+ else{
+ $("#visualDistanceInput").val(100000);
+ }
})
+function visualDistanceChange(e) {
+ let visualDistance=$("#visualDistanceInput").val()
+ window.localStorage.setItem("visualDistance",visualDistance);
+ let token = window.localStorage.getItem("token");
+ $.ajax({
+ type: "get",
+ async: false,
+ url: parent.httpConfig.webApiUrl + "landstamp/front/getDrawEntity",
+ contentType: "application/json;charset=utf-8",
+ beforeSend:function(request){
+ request.setRequestHeader("token",token);
+ },
+ success: function (data) {
+ if(data.rows!=null){
+ for(let i=0;i<data.rows.length;i++){
+ let entity=viewer.entities.getById(data.rows[i].id);
+ if(data.rows[i].type=="point"){
+ entity._billboard._distanceDisplayCondition._value=new Cesium.DistanceDisplayCondition(0, visualDistance)
+ entity._label._distanceDisplayCondition._value=new Cesium.DistanceDisplayCondition(0, visualDistance)
+ }
+ // else if(data.rows[i].type=="polyline"){
+ // entity._polyline._distanceDisplayCondition._value=new Cesium.DistanceDisplayCondition(0, visualDistance)
+ // }
+ // else if(data.rows[i].type=="polygon"){
+ // entity._polygon._distanceDisplayCondition._value=new Cesium.DistanceDisplayCondition(0, visualDistance)
+ // }
+ else if(data.rows[i].type=="label"){
+ entity._billboard._distanceDisplayCondition._value=new Cesium.DistanceDisplayCondition(0, visualDistance)
+ entity._label._distanceDisplayCondition._value=new Cesium.DistanceDisplayCondition(0, visualDistance)
+ }
+ }
+ }
+ },
+ error: function (XMLHttpRequest, textStatus, errorThrown) {
+ console.log("ajax璇锋眰澶辫触锛�");
+ }
+ });
+}
diff --git a/assets/map/map3D.js b/assets/map/map3D.js
index b8aad04..2113bfa 100644
--- a/assets/map/map3D.js
+++ b/assets/map/map3D.js
@@ -1410,7 +1410,6 @@
}
function initDrawEntity(){//zzf:鍒濆鍖栧浘褰�
-
let token = window.localStorage.getItem("token");
$.ajax({
type: "get",
@@ -1463,7 +1462,7 @@
horizontalOrigin: Cesium.HorizontalOrigin.CENTER,
disableDepthTestDistance: Number.POSITIVE_INFINITY,
heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
- distanceDisplayCondition: new Cesium.DistanceDisplayCondition(0, 10000000000000.0)
+ distanceDisplayCondition: window.localStorage.getItem("visualDistance")?new Cesium.DistanceDisplayCondition(0, window.localStorage.getItem("visualDistance")):new Cesium.DistanceDisplayCondition(0, 100000.0)
},
billboard: {
image: iconPath,
@@ -1474,7 +1473,7 @@
horizontalOrigin: Cesium.HorizontalOrigin.CENTER,
disableDepthTestDistance: Number.POSITIVE_INFINITY,
heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
- distanceDisplayCondition: new Cesium.DistanceDisplayCondition(0, 10000000000000.0)
+ distanceDisplayCondition: window.localStorage.getItem("visualDistance")?new Cesium.DistanceDisplayCondition(0, window.localStorage.getItem("visualDistance")):new Cesium.DistanceDisplayCondition(0, 100000.0)
}
});
if(drawEntity.content!=null&&drawEntity.content!=""){
@@ -1527,7 +1526,8 @@
clampToGround: true,
width: drawEntity.fontsize?drawEntity.fontsize:1,
material: drawEntity.color?Cesium.Color.fromCssColorString(drawEntity.color):new Cesium.Color.fromBytes(255,124,0,255),
- positions:measureLinePositonsArray
+ positions:measureLinePositonsArray,
+ distanceDisplayCondition: new Cesium.DistanceDisplayCondition(0, 10000000.0)
},
drawpointArr: drawpointArr,
measureLinePositonsArray: measureLinePositonsArray
@@ -1577,7 +1577,8 @@
outlineColor: Cesium.Color.WHITE,
hierarchy: new Cesium.CallbackProperty(function () {
return polygon;
- }, false)
+ }, false),
+ distanceDisplayCondition: new Cesium.DistanceDisplayCondition(0, 10000000.0)
}
});
if(drawEntity.content!=null&&drawEntity.content!=""){
@@ -1619,7 +1620,7 @@
horizontalOrigin: Cesium.HorizontalOrigin.CENTER,
disableDepthTestDistance: Number.POSITIVE_INFINITY,
heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
- distanceDisplayCondition: new Cesium.DistanceDisplayCondition(0, 10000000000000.0)
+ distanceDisplayCondition: window.localStorage.getItem("visualDistance")?new Cesium.DistanceDisplayCondition(0, window.localStorage.getItem("visualDistance")):new Cesium.DistanceDisplayCondition(0, 100000.0)
},
billboard: {
image: iconPath,
@@ -1630,7 +1631,7 @@
horizontalOrigin: Cesium.HorizontalOrigin.CENTER,
disableDepthTestDistance: Number.POSITIVE_INFINITY,
heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
- distanceDisplayCondition: new Cesium.DistanceDisplayCondition(0, 10000000000000.0)
+ distanceDisplayCondition: window.localStorage.getItem("visualDistance")?new Cesium.DistanceDisplayCondition(0, window.localStorage.getItem("visualDistance")):new Cesium.DistanceDisplayCondition(0, 100000.0)
}
});
if(drawEntity.content!=null&&drawEntity.content!=""){
diff --git a/libs/Cesiumplus/CesiumDraw.js b/libs/Cesiumplus/CesiumDraw.js
index b649303..71b3880 100644
--- a/libs/Cesiumplus/CesiumDraw.js
+++ b/libs/Cesiumplus/CesiumDraw.js
@@ -169,7 +169,8 @@
outlineColor: Cesium.Color.WHITE,
hierarchy: new Cesium.CallbackProperty(function () {
return polygon;
- }, false)
+ }, false),
+ distanceDisplayCondition: new Cesium.DistanceDisplayCondition(0, 10000000.0)
}
});
@@ -314,6 +315,7 @@
clampToGround: true,
width: 1,
material: options.polylinecolor,
+ distanceDisplayCondition: new Cesium.DistanceDisplayCondition(0, 10000000.0)
},
drawpointArr: [],
measureLinePositonsArray: measureLinePositonsArray
@@ -486,7 +488,7 @@
text: pointText,
disableDepthTestDistance: Number.POSITIVE_INFINITY,
heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
- distanceDisplayCondition: new Cesium.DistanceDisplayCondition(0, 200000000.0)
+ distanceDisplayCondition: window.localStorage.getItem("visualDistance")?new Cesium.DistanceDisplayCondition(0, window.localStorage.getItem("visualDistance")):new Cesium.DistanceDisplayCondition(0, 100000.0)
},
billboard: {
image: "../assets/images/icon/icon1.png",
@@ -497,7 +499,7 @@
horizontalOrigin: Cesium.HorizontalOrigin.CENTER,
disableDepthTestDistance: Number.POSITIVE_INFINITY,//骞垮憡鐗屼笉杩涜娣卞害妫�娴�
heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
- distanceDisplayCondition: new Cesium.DistanceDisplayCondition(0, 200000000.0)
+ distanceDisplayCondition: window.localStorage.getItem("visualDistance")?new Cesium.DistanceDisplayCondition(0, window.localStorage.getItem("visualDistance")):new Cesium.DistanceDisplayCondition(0, 100000.0)
}
});
entity.title = pointText;
@@ -546,7 +548,7 @@
text: labelText,
disableDepthTestDistance: Number.POSITIVE_INFINITY,
heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
- distanceDisplayCondition: new Cesium.DistanceDisplayCondition(0, 200000000.0)
+ distanceDisplayCondition: window.localStorage.getItem("visualDistance")?new Cesium.DistanceDisplayCondition(0, window.localStorage.getItem("visualDistance")):new Cesium.DistanceDisplayCondition(0, 100000.0)
},
billboard: {
image: "../assets/images/icon/icon1.png",
@@ -557,7 +559,7 @@
horizontalOrigin: Cesium.HorizontalOrigin.CENTER,
disableDepthTestDistance: Number.POSITIVE_INFINITY,//骞垮憡鐗屼笉杩涜娣卞害妫�娴�
heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
- distanceDisplayCondition: new Cesium.DistanceDisplayCondition(0, 200000000.0)
+ distanceDisplayCondition: window.localStorage.getItem("visualDistance")?new Cesium.DistanceDisplayCondition(0, window.localStorage.getItem("visualDistance")):new Cesium.DistanceDisplayCondition(0, 100000.0)
}
});
entity.title = labelText;
diff --git a/view/index.html b/view/index.html
index 4d0949c..4a0715d 100644
--- a/view/index.html
+++ b/view/index.html
@@ -105,6 +105,12 @@
lay-text="ON|OFF">
</div>
</li>
+ <li class="layui-form-item left-bar-item">
+ <label>鍙璺濈</label>
+ <div class="layui-input-block">
+ <input type="number" id="visualDistanceInput" class="layui-input" type="text" style="width:150px;background:#20212b;color:white" placeholder="" autocomplete="off" oninput="visualDistanceChange(event)" onporpertychange="visualDistanceChange(event)"/>
+ </div>
+ </li>
</ul>
</div>
<div id="left_bar_shadow" class="layui-layer-shade"
--
Gitblit v1.9.1