From ecdaa37a673565e8e7419ac9062106b89e051c3e Mon Sep 17 00:00:00 2001 From: ansel0926 <ansel0926@gmail.com> Date: 星期六, 14 五月 2022 21:47:57 +0800 Subject: [PATCH] 提交 --- assets/map/map3D.js | 61 +++++++++++++++++++++--------- 1 files changed, 42 insertions(+), 19 deletions(-) diff --git a/assets/map/map3D.js b/assets/map/map3D.js index 78455c7..65e3602 100644 --- a/assets/map/map3D.js +++ b/assets/map/map3D.js @@ -152,6 +152,9 @@ if(labelLayer!=null){//鍏抽棴鏂囧瓧缂栬緫寮圭獥 layer.close(labelLayer); } + $(".medium-item").children().filter(".bx-popup-ctn").each(function () {//闅愯棌pop + this.style.display="none" + }) if (pick != undefined && pick instanceof Cesium.Cesium3DTileFeature) { var propertyNames = pick.getPropertyNames(); var length = propertyNames.length; @@ -231,6 +234,16 @@ }); } else if(entity._name=='drawPointEntity'){ + //console.log(pickPrimitive._position) + // let popup = new Popup({ + // viewer:viewer, + // geometry:pickPrimitive._position, + // entity:entity, + // id: "pop_" + entity.id + // }) + // if( drawEntity.imagePath!=null&& drawEntity.imagePath!=""){ + // $("#pop_" + entity.id).children(".bx-popup-content-ctn").children(".bx-popup-content").children(".image")[0].src = parent.httpConfig.webApiUrl+drawEntity.imagePath; + // } document.getElementById("pop_" +entity.id).style.display="block"; layer.config({ extend: 'myskin/style.css' //鍚屾牱闇�瑕佸厛鍔犺浇鏂扮毊鑲� @@ -831,17 +844,22 @@ let signPointEntity = viewer.entities.getById(id); let popId="pop_"+id; let saveData; + var cartographic=Cesium.Cartographic.fromCartesian(signPointEntity._position._value); + var lng=Cesium.Math.toDegrees(cartographic.longitude); + var lat=Cesium.Math.toDegrees(cartographic.latitude); + var alt=cartographic.height; if(type==1){ signPointEntity.title=val; + signPointEntity._label._text._value = val; let treeLabelNode=getNodeById(signPointEntity.id,layerMenu[3].children) treeLabelNode.title=val; $("#" + popId).children(".bx-popup-header-ctn")[0].innerText=val; saveData= { "id":signPointEntity._id, "type": "point", - "longitude": signPointEntity._position._value.x, - "latitude": signPointEntity._position._value.y, - "height": signPointEntity._position._value.z, + "longitude": lng, + "latitude": lat, + "height": alt, "content":signPointEntity.title, } } @@ -852,9 +870,10 @@ saveData= { "id":signPointEntity._id, "type": "point", - "longitude": signPointEntity._position._value.x, - "latitude": signPointEntity._position._value.y, - "height": signPointEntity._position._value.z, + "longitude": lng, + "latitude": lat, + "height": alt, + "content":signPointEntity.title, "imagePath":newUrl, } } @@ -1244,10 +1263,7 @@ } function drawAjaxPoint(drawEntity){//鍔犺浇鐐� - // - let cartesian3 = Cesium.Cartesian3.fromDegrees(drawEntity.longitude, drawEntity.latitude, drawEntity.height); - console.log(drawEntity.content,cartesian3.x,cartesian3.y,cartesian3.z) - let cartesian=new Cesium.Cartesian3(parseFloat(drawEntity.longitude),parseFloat(drawEntity.latitude),parseFloat(drawEntity.height)) + let cartesian = Cesium.Cartesian3.fromDegrees(drawEntity.longitude, drawEntity.latitude, drawEntity.height); var cartographic = Cesium.Cartographic.fromCartesian(cartesian); var entity=viewer.entities.add({ id:drawEntity.id, @@ -1259,21 +1275,23 @@ horizontalOrigin: Cesium.HorizontalOrigin.CENTER, font: 'bold 14px Helvetica', fillColor: Cesium.Color.WHITE, - text: "", + text: drawEntity.content, + verticalOrigin: Cesium.VerticalOrigin.BOTTOM, + horizontalOrigin: Cesium.HorizontalOrigin.CENTER, disableDepthTestDistance: Number.POSITIVE_INFINITY, heightReference: Cesium.HeightReference.CLAMP_TO_GROUND, - distanceDisplayCondition: new Cesium.DistanceDisplayCondition(0, 200000000.0) + distanceDisplayCondition: new Cesium.DistanceDisplayCondition(0, 10000000000000.0) }, billboard: { image: "../assets/images/icon/icon1.png", width: 40, height: 40, rotation: 0, - verticalOrigin: Cesium.VerticalOrigin.TOP, + verticalOrigin: Cesium.VerticalOrigin.BOTTOM, horizontalOrigin: Cesium.HorizontalOrigin.CENTER, - disableDepthTestDistance: Number.POSITIVE_INFINITY,//骞垮憡鐗屼笉杩涜娣卞害妫�娴� + disableDepthTestDistance: Number.POSITIVE_INFINITY, heightReference: Cesium.HeightReference.CLAMP_TO_GROUND, - distanceDisplayCondition: new Cesium.DistanceDisplayCondition(0, 200000000.0) + distanceDisplayCondition: new Cesium.DistanceDisplayCondition(0, 10000000000000.0) } }); if(drawEntity.content!=null&&drawEntity.content!=""){ @@ -1286,10 +1304,15 @@ viewer:viewer, geometry:cartesian, entity:entity, - id: "pop_" + entity.id + id: "pop_" + entity.id, + type:drawEntity.popType?drawEntity.popType:'image', + content:drawEntity.popContent?drawEntity.popContent:null, }) if( drawEntity.imagePath!=null&& drawEntity.imagePath!=""){ $("#pop_" + entity.id).children(".bx-popup-content-ctn").children(".bx-popup-content").children(".image")[0].src = parent.httpConfig.webApiUrl+drawEntity.imagePath; + } + if( drawEntity.popContent!=null&& drawEntity.popContent!=""){ + $("#pop_" + entity.id).children(".bx-popup-content-ctn").children(".bx-popup-content").children(".textarea")[0].innerText = drawEntity.popContent; } document.getElementById("pop_" +entity.id).style.display="none"; addTreeNode({ @@ -1313,7 +1336,7 @@ let heightList=drawEntity.height.split(","); //鐐瑰潗鏍� for(let i=0;i<longitudeList.length;i++){ - let cartesian=new Cesium.Cartesian3(parseFloat(longitudeList[i]),parseFloat(latitudeList[i]),parseFloat(heightList[i])) + let cartesian = Cesium.Cartesian3.fromDegrees(longitudeList[i], latitudeList[i], heightList[i]); measureLinePositonsArray.push(cartesian); } var drawpointArr = []; @@ -1351,7 +1374,7 @@ let heightList=drawEntity.height.split(","); //鐐瑰潗鏍� for(let i=0;i<longitudeList.length;i++){ - let cartesian=new Cesium.Cartesian3(parseFloat(longitudeList[i]),parseFloat(latitudeList[i]),parseFloat(heightList[i])) + let cartesian = Cesium.Cartesian3.fromDegrees(longitudeList[i],latitudeList[i], heightList[i]); polyPositions.push(cartesian); } var polygon = new Cesium.PolygonHierarchy(); @@ -1388,7 +1411,7 @@ } function drawAjaxLabel(drawEntity){//鍔犺浇鏂囧瓧 - let cartesian=new Cesium.Cartesian3(parseFloat(drawEntity.longitude),parseFloat(drawEntity.latitude),parseFloat(drawEntity.height)) + let cartesian = Cesium.Cartesian3.fromDegrees(drawEntity.longitude, drawEntity.latitude, drawEntity.height); var cartographic = Cesium.Cartographic.fromCartesian(cartesian); cartographic = Cesium.Cartographic.fromCartesian(cartesian); var entity = viewer.entities.add({ -- Gitblit v1.9.1