ansel0926
2022-05-17 00b733dc6ae372be365a01046ead5c062d8f5617
assets/map/map3D.js
@@ -294,7 +294,8 @@
                        let title=entity.title;
                        let lineColor=entity._polyline._material._color._value.toCssHexString();
                        let lineSize=entity._polyline._width._value;
                            iframe.child(id,title,lineColor,lineSize,pick);
                        let attributes = pick.primitive.getGeometryInstanceAttributes(pick.id);
                            iframe.child(id,title,lineColor,lineSize,attributes);
                     }
                  });
               }
@@ -982,8 +983,7 @@
   });
}   
function updateLine(type,id,val,pick){//修改线:zzf
   let attributes = pick.primitive.getGeometryInstanceAttributes( pick.id );
function updateLine(type,id,val,attributes){//修改线:zzf
   let signPointEntity = viewer.entities.getById(id);
   let saveData;
   if(type==1){//线名称
@@ -1410,7 +1410,6 @@
}
function initDrawEntity(){//zzf:初始化图形
   let token = window.localStorage.getItem("token");
    $.ajax({
      type: "get",
@@ -1435,6 +1434,9 @@
               else if(data.rows[i].type=="label"){
                  drawAjaxLabel(data.rows[i])
               }
               else if(data.rows[i].type=="text"){
                  drawAjaxText(data.rows[i])
               }
            }
         }
      },
@@ -1455,15 +1457,16 @@
      label: {
         text: drawEntity.content,
         font: drawEntity.fontsize+'px '+drawEntity.fontstyle,
         fillColor: Cesium.Color.fromCssColorString(drawEntity.color),
         fillColor: drawEntity.color?Cesium.Color.fromCssColorString(drawEntity.color):Cesium.Color.WHITE,
         outlineColor: Cesium.Color.BLACK,
         outlineWidth: 2,
         style: Cesium.LabelStyle.FILL_AND_OUTLINE,
         eyeOffset:new Cesium.Cartesian3(0,20,0),
         verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
         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 +1477,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 +1530,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 +1581,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!=""){
@@ -1611,15 +1616,17 @@
      label: {
         text: drawEntity.content,
         font: drawEntity.fontsize+'px '+drawEntity.fontstyle,
         fillColor: Cesium.Color.fromCssColorString(drawEntity.color),
         fillColor:  drawEntity.color?Cesium.Color.fromCssColorString(drawEntity.color):Cesium.Color.WHITE,
         outlineColor: Cesium.Color.BLACK,
         outlineWidth: 2,
         style: Cesium.LabelStyle.FILL_AND_OUTLINE,
         //pixelOffset: new Cesium.Cartesian2(0.0, 5.0),
         eyeOffset:new Cesium.Cartesian3(0,20,0),
         verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
         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 +1637,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!=""){
@@ -1663,4 +1670,53 @@
         "lat": Cesium.Math.toDegrees(cartographic.latitude)
      }
   }, "4");
}
function drawAjaxText(drawEntity){//加载标签
   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,
      name:"drawTextEtity",
      position:cartesian,
      label: {
         text: drawEntity.content?drawEntity.content:new Date(drawEntity.createTime).format("yyyyMMddhhmmss"),
         font: drawEntity.fontsize+'px '+drawEntity.fontstyle,
         fillColor:  drawEntity.color?Cesium.Color.fromCssColorString(drawEntity.color):Cesium.Color.WHITE,
         outlineColor: Cesium.Color.BLACK,
         outlineWidth: 2,
         style: Cesium.LabelStyle.FILL_AND_OUTLINE,
         //pixelOffset: new Cesium.Cartesian2(0.0, 5.0),
         eyeOffset:new Cesium.Cartesian3(0,20,0),
         verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
         horizontalOrigin: Cesium.HorizontalOrigin.CENTER,
         disableDepthTestDistance: Number.POSITIVE_INFINITY,
         heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
         distanceDisplayCondition: window.localStorage.getItem("visualDistance")?new Cesium.DistanceDisplayCondition(0, window.localStorage.getItem("visualDistance")):new Cesium.DistanceDisplayCondition(0, 100000.0)
      },
   });
   let popup = new Popup({
      viewer:viewer,
      geometry:cartesian,
      entity:entity,
      id: "pop_" + entity.id,
      type:'label',
      content:drawEntity.popContent?drawEntity.popContent:null,
   })
   if( drawEntity.popContent!=null&& drawEntity.popContent!=""){
      $("#pop_" + entity.id).children(".bx-popup-content-ctn").children(".bx-popup-content").children(".textarea")[0].innerHTML = drawEntity.popContent;
   }
   document.getElementById("pop_" +entity.id).style.display="none";
   addTreeNode({
      "title": entity.title,
      "id": entity.id,
      "field": "Entity",
      "checked": true,
      "spread": true,
      "children": [],
      "ext": {
         "lng": Cesium.Math.toDegrees(cartographic.longitude),
         "lat": Cesium.Math.toDegrees(cartographic.latitude)
      }
   }, "4");
}