ansel0926
2022-05-18 f0efddd9e32b9c5dc828401c4092be004b4826cf
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
@@ -473,20 +475,27 @@
            //获取鼠标点击处的坐标
            drawHandler = drawHandler && drawHandler.destroy();
            let position = viewer.scene.camera.pickEllipsoid(movement.position, viewer.scene.globe.ellipsoid);
            position = viewer.scene.pickPosition(movement.position);
            let pointText="点" + new Date().format("yyyyMMddhhmmss");
            var entity=viewer.entities.add({
               name:"drawPointEntity",
               position:position,
               label: {
                  text: pointText,
                  show: true,
                  verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
                  horizontalOrigin: Cesium.HorizontalOrigin.CENTER,
                  font: '10px SimSun',
                  fillColor: Cesium.Color.WHITE,
                  text: pointText,
                  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, 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 +506,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;
@@ -533,6 +542,7 @@
            //获取鼠标点击处的坐标
            drawHandler = drawHandler && drawHandler.destroy();
            let position = viewer.scene.camera.pickEllipsoid(movement.position, viewer.scene.globe.ellipsoid);
            position = viewer.scene.pickPosition(movement.position);
            let labelText="文字" + new Date().format("yyyyMMddhhmmss");
            var entity=viewer.entities.add({
               name:"drawLabelEntity",
@@ -543,10 +553,14 @@
                  horizontalOrigin: Cesium.HorizontalOrigin.CENTER,
                  font: '30px SimSun',
                  fillColor: Cesium.Color.WHITE,
                  outlineColor: Cesium.Color.BLACK,
                  outlineWidth: 2,
                  style: Cesium.LabelStyle.FILL_AND_OUTLINE,
                  text: labelText,
                  eyeOffset:new Cesium.Cartesian3(0,20,0),
                  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 +571,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;
@@ -586,6 +600,49 @@
         }, Cesium.ScreenSpaceEventType.LEFT_CLICK);
      }
      CesiumDraw.drawText = function (options) {
         drawHandler = drawHandler && drawHandler.destroy();
         drawHandler = new Cesium.ScreenSpaceEventHandler(options.viewer.scene.canvas);
         drawHandler.setInputAction(function (movement) {
            let position = viewer.scene.pickPosition(movement.position);
            let labelText="标签" + new Date().format("yyyyMMddhhmmss");
            var entity=viewer.entities.add({
               name:"drawTextEtity",
               position:position,
               label: {
                  show: true,
                  verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
                  horizontalOrigin: Cesium.HorizontalOrigin.CENTER,
                  font: '20px LiSu',
                  fillColor: Cesium.Color.YELLOW,
                  outlineColor: Cesium.Color.BLACK,
                  outlineWidth: 2,
                  style: Cesium.LabelStyle.FILL_AND_OUTLINE,
                  text: labelText,
                  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)
               },
            });
            entity.title = labelText;
            var cartesian = entity._position._value
            addTreeNode({
               "title": entity.title,
               "id": entity.id,
               "field": "Entity",
               "checked": true,
               "spread": true,
               "children": [],
               "ext": {
                  "lng": Cesium.Math.toDegrees(cartesian.x),
                  "lat": Cesium.Math.toDegrees(cartesian.y)
               }
            }, "4");
            saveDrawEntity("text",entity,entity.id);
            drawHandler = drawHandler && drawHandler.destroy();
         }, Cesium.ScreenSpaceEventType.LEFT_CLICK);
      }
      CesiumDraw.clearDraw = function (options) {
      }