jihongshun
2025-07-09 bec1a5e6532575b221b24094471fce8c814fc7ae
优化算法
已修改10个文件
642 ■■■■ 文件已修改
src/js/map3d.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/components/init-map.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/model/index.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/device/components/deviceDialog.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/model/components/modelDialog.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/project/components/addPorjectDialog.vue 518 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/project/components/chooseDeviceDialog.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/project/components/chooseModelDialog.vue 110 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/shootPoint/components/chooseModelDialog.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/shootPoint/components/shootPointDialog.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/js/map3d.js
@@ -46,7 +46,6 @@
    orientation: orientations,
    model: {
      uri: url,
      scale: 20,
      shadows: Cesium.ShadowMode.DISABLED,
      imageBasedLightingFactor: new Cesium.Cartesian2(1, 0.5)
    }
src/utils/components/init-map.vue
@@ -190,7 +190,6 @@
            orientation: orientations,
            model: {
                uri: url,
                scale: 20,
                shadows: Cesium.ShadowMode.DISABLED,
                imageBasedLightingFactor: new Cesium.Cartesian2(1, 0.5)
            }
src/views/model/index.vue
@@ -147,7 +147,6 @@
        position: Cesium.Cartesian3.fromDegrees(124.99140002766548, 46.5903479189505, 0),
        model: {
          uri: "/Model/tower.glb",
          scale: 1000,
          minimumPixelSize: 50,
        },
      });
src/views/system/device/components/deviceDialog.vue
@@ -105,7 +105,6 @@
                orientation: orientation,
                model: {
                  uri:this.modelUrl, // 替换成你的模型路径
                  scale: 1000,
                },
              });
              viewer.flyTo(entity)
@@ -205,7 +204,6 @@
          orientation: orientation,
          model: {
            uri:  this.modelUrl, // 替换成你的模型路径
            scale: 1000,
          },
        });
        viewer.flyTo(entity)
src/views/system/model/components/modelDialog.vue
@@ -164,7 +164,6 @@
        orientation: orientation,
        model: {
          uri: "/Model/tower.glb", // 替换成你的模型路径
          scale: 1000,
        },
      });
      console.log(entity)
src/views/system/project/components/addPorjectDialog.vue
@@ -13,6 +13,7 @@
                  <!-- <el-button type="primary" @click='chooseModel'>添加设备</el-button> -->
                  <div class="fontJust">设备列表</div>
                   <el-button @click="addDevice"> 新增</el-button>
                   <el-button @click="draw"> 渲染</el-button>
                  <el-table
                    :data="tableData"
                    max-height = '180'
@@ -23,15 +24,16 @@
                      width="150">
                    </el-table-column>
                    <el-table-column
                      prop="muban"
                      prop="mode"
                      label="模板"
                      width="150">
                      width="120">
                    </el-table-column>
                    <el-table-column
                      fixed="right"
                      label="操作"
                      width="100">
                      width="130">
                      <template slot-scope="scope">
                        <el-button type="text" size="small" @click="chooseModel(scope.row)">模板</el-button>
                        <el-button type="text" size="small" @click="flyToLocal(scope.row)">定位</el-button>
                        <el-button type="text" size="small" @click="deleteData(scope.row)">移除</el-button>
                      </template>
@@ -63,28 +65,379 @@
        <el-button type="primary" @click="submit()" >生成航线任务</el-button>
      </span>
    </el-dialog>
     <chooseDeviceDialog v-if="showModel" @cancel ='cancel' @dealChooseArr="dealChooseArr" ></chooseDeviceDialog>
     <chooseDeviceDialog v-if="showDevice" @cancel ='cancel' @dealChooseArr="dealChooseArr" ></chooseDeviceDialog>
     <chooseModelDialog v-if="showModel" @cancelModel ='cancelModel' @receiveModel="receiveModel" :deviceId="deviceId"></chooseModelDialog>
  </div>
</template>
<script>
import CesiumMap from "../../../../utils/components/cesium-map.vue";
import chooseDeviceDialog from './chooseDeviceDialog.vue';
import chooseModelDialog from './chooseModelDialog.vue';
export  default{
  components: {
    CesiumMap,
    chooseDeviceDialog
    chooseDeviceDialog,
    chooseModelDialog
  },
  data(){
    return{
       dialogVisible :true,
        tableData: [],
        treeData:[],
        treeData:[
    {
        "createBy": null,
        "createTime": null,
        "updateBy": null,
        "updateTime": null,
        "remark": null,
        "id": "3c5fc76c46c54c1187ff0bbcc092194b",
        "modelId": "6257cf734cf94c7caae0dee2ac2231d1",
        "deviceName": "设备3",
        "deviceType": null,
        "longitude": 125.01255362568844,
        "latitude": 46.40803605631184,
        "altitude": -0.029793403136164368,
        "belongingRoute": "线路3",
        "face": 30,
        "label": "设备3",
        "children": [
            {
                "id": "197ee63df18b0af0",
                "label": "地面点0",
                "longitude": 125.01254682821249,
                "latitude": 46.40803726847258,
                "height": 5.55594577349203,
                "children": [
                    {
                        "id": "197ee63df18539a3",
                        "label": "空中点1",
                        "longitude": 125.01128753149214,
                        "latitude": 46.4082612208105,
                        "height": 6.492838981926156
                    }
                ]
            },
            {
                "id": "197ee63df18cce29",
                "label": "地面点1",
                "longitude": 125.01254709729052,
                "latitude": 46.408037217374755,
                "height": 6.4920524070572645,
                "children": [
                    {
                        "id": "197ee63df18539a3",
                        "label": "空中点1",
                        "longitude": 125.01128753149214,
                        "latitude": 46.4082612208105,
                        "height": 6.492838981926156
                    }
                ]
            },
            {
                "id": "197ee63df188aa47",
                "label": "地面点2",
                "longitude": 125.01254783039168,
                "latitude": 46.408036932133236,
                "height": 7.424864167610554,
                "children": [
                    {
                        "id": "197ee63df1845bc7",
                        "label": "空中点2",
                        "longitude": 125.0112772702233,
                        "latitude": 46.40822893934041,
                        "height": 7.425650325131619
                    }
                ]
            },
            {
                "id": "197ee63df199a530",
                "label": "地面点3",
                "longitude": 125.01255933758492,
                "latitude": 46.40803691722688,
                "height": 7.424719094681872,
                "children": [
                    {
                        "id": "197ee63df1908bad",
                        "label": "空中点3",
                        "longitude": 125.0138300519516,
                        "latitude": 46.40822843553173,
                        "height": 7.425505375628057
                    }
                ]
            },
            {
                "id": "197ee63df198ebdf",
                "label": "地面点4",
                "longitude": 125.01256021566009,
                "latitude": 46.408036958116895,
                "height": 6.454013013927198,
                "children": [
                    {
                        "id": "197ee63df192e649",
                        "label": "空中点4",
                        "longitude": 125.0138360193498,
                        "latitude": 46.40821153783117,
                        "height": 6.454799694246353
                    }
                ]
            },
            {
                "id": "197ee63df1989863",
                "label": "地面点5",
                "longitude": 125.01256037655455,
                "latitude": 46.40803705402738,
                "height": 5.5173191358810305,
                "children": [
                    {
                        "id": "197ee63df19fb1cb",
                        "label": "空中点5",
                        "longitude": 125.01384789553899,
                        "latitude": 46.408163891976834,
                        "height": 6.023658449094137
                    }
                ]
            }
        ]
    },
    {
        "createBy": null,
        "createTime": null,
        "updateBy": null,
        "updateTime": null,
        "remark": null,
        "id": "5d7c595466094e369c6ed9fdcab6ba50",
        "modelId": "416a0c3361a9409495623eff5c19fb41",
        "deviceName": "设备2",
        "deviceType": null,
        "longitude": 124.98495711631958,
        "latitude": 46.60913669289758,
        "altitude": -0.010649270561847658,
        "belongingRoute": "线路2",
        "face": 30,
        "label": "设备2",
        "children": [
    {
        "id": "197ee6746f64a423",
        "label": "地面点0",
        "longitude": 124.98496378621228,
        "latitude": 46.60913556199556,
        "height": 5.517188951102072,
        "children": [
            {
                "id": "197ee6746f74e23a",
                "label": "空中点0",
                "longitude": 124.98623131325654,
                "latitude": 46.60892064074182,
                "height": 5.517975962983238
            }
        ]
    },
    {
        "id": "197ee6746f7d5cbb",
        "label": "地面点1",
        "longitude": 124.98496380688303,
        "latitude": 46.609135777787124,
        "height": 6.454174518781066,
        "children": [
            {
                "id": "197ee6746f76d1f7",
                "label": "空中点1",
                "longitude": 124.98624416031694,
                "latitude": 46.60896064802085,
                "height": 6.454961413485681
            }
        ]
    },
    {
        "id": "197ee6746f7f75d3",
        "label": "地面点2",
        "longitude": 124.9849627026509,
        "latitude": 46.6091358190698,
        "height": 7.4247849395402445,
        "children": [
            {
                "id": "197ee6746f7bd9af",
                "label": "空中点2",
                "longitude": 124.98623564998626,
                "latitude": 46.608936693647046,
                "height": 7.425571052201786
            }
        ]
    },
    {
        "id": "197ee6746f786c30",
        "label": "地面点3",
        "longitude": 124.98495139129277,
        "latitude": 46.609136202860036,
        "height": 7.385436810668997,
        "children": [
            {
                "id": "197ee6746f7220cc",
                "label": "空中点3",
                "longitude": 124.98365601680429,
                "latitude": 46.60902531680706,
                "height": 7.386222783506121
            }
        ]
    },
    {
        "id": "197ee6746f70eac7",
        "label": "地面点4",
        "longitude": 124.98495046384257,
        "latitude": 46.6091358802505,
        "height": 6.453950090508963,
        "children": [
            {
                "id": "197ee6746f74dd82",
                "label": "空中点4",
                "longitude": 124.98366517250753,
                "latitude": 46.60897886511559,
                "height": 6.4547368247826675
            }
        ]
    },
    {
        "id": "197ee6746f7ac599",
        "label": "地面点5",
        "longitude": 124.984950334958,
        "latitude": 46.609135834916806,
        "height": 5.516518597126235,
        "children": [
            {
                "id": "197ee6746f7220cc",
                "label": "空中点3",
                "longitude": 124.98365601680429,
                "latitude": 46.60902531680706,
                "height": 7.386222783506121
            }
        ]
    }
]
    },
    {
        "createBy": null,
        "createTime": null,
        "updateBy": null,
        "updateTime": null,
        "remark": null,
        "id": "f796896ac1c445c183456c500502bef0",
        "modelId": "1bd29eedeaaf4a3da83212fbb1793fd5",
        "deviceName": "设备1",
        "deviceType": null,
        "longitude": 125.14336018333184,
        "latitude": 46.558980802047344,
        "altitude": -0.0019061848373990704,
        "belongingRoute": "线路1",
        "face": 60,
        "label": "设备1",
        "children": [
    {
        "id": "197ee65dac710766",
        "label": "地面点0",
        "longitude": 125.14335344347126,
        "latitude": 46.55898205916312,
        "height": 5.556756800574575,
        "children": [
            {
                "id": "197ee65dac75edbb",
                "label": "空中点0",
                "longitude": 125.14209452120562,
                "latitude": 46.55921686479333,
                "height": 5.557543680589247
            }
        ]
    },
    {
        "id": "197ee65dac76a522",
        "label": "地面点1",
        "longitude": 125.14335363213557,
        "latitude": 46.55898182607255,
        "height": 6.651683951645225,
        "children": [
            {
                "id": "197ee65dac772525",
                "label": "空中点2",
                "longitude": 125.14208232214659,
                "latitude": 46.559179705774746,
                "height": 7.425743074154034
            }
        ]
    },
    {
        "id": "197ee65dac712c69",
        "label": "地面点2",
        "longitude": 125.14335446603941,
        "latitude": 46.55898169199969,
        "height": 7.424957062075383,
        "children": [
            {
                "id": "197ee65dac772525",
                "label": "空中点2",
                "longitude": 125.14208232214659,
                "latitude": 46.559179705774746,
                "height": 7.425743074154034
            }
        ]
    },
    {
        "id": "197ee65dac7d469a",
        "label": "地面点3",
        "longitude": 125.14336581328187,
        "latitude": 46.55898112552418,
        "height": 7.385369522508276,
        "children": [
            {
                "id": "197ee65dac74b335",
                "label": "空中点3",
                "longitude": 125.14460210993491,
                "latitude": 46.55869709406983,
                "height": 11.416007026601994
            }
        ]
    },
    {
        "id": "197ee65dac7817ff",
        "label": "地面点4",
        "longitude": 125.14336674537108,
        "latitude": 46.55898211835868,
        "height": 6.48472072335647,
        "children": [
            {
                "id": "197ee65dac7602d7",
                "label": "空中点4",
                "longitude": 125.14461900411601,
                "latitude": 46.559233306964344,
                "height": 6.485507501890941
            }
        ]
    },
    {
        "id": "197ee65dac74500d",
        "label": "地面点5",
        "longitude": 125.14336684823117,
        "latitude": 46.55898218335435,
        "height": 5.556803725040882,
        "children": [
            {
                "id": "197ee65dac7d10f5",
                "label": "空中点5",
                "longitude": 125.14464805019499,
                "latitude": 46.559149450894154,
                "height": 7.227587215704448
            }
        ]
    }
]
    }
],
        defaultProps: {
          children: 'children',
          label: 'label'
        },
        showDevice:false,
        multipleSelection: [],
        showModel:false,
        multipleSelection: []
        deviceId:null
    }
  },
  methods:{
@@ -114,18 +467,34 @@
        orientation: orientation,
        model: {
          uri: "http://192.168.1.5:9000/tower/2025/07/01/tower_20250701145739A004.glb", // 替换成你的模型路径
          scale: 1000,
          scale: 1,
        },
        label: {
          show: true,
          verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
          horizontalOrigin: Cesium.HorizontalOrigin.CENTER,
          font: '28px Helvetica',
          outlineColor: Cesium.Color.BLUE,
          outlineWidth: 3,
          fillColor: Cesium.Color.fromCssColorString('#FFFFFF'), //44c3cc
          text: row.deviceName,
          style: Cesium.LabelStyle.FILL_AND_OUTLINE,
          pixelOffset: new Cesium.Cartesian2(0.0, -56.0),
          scaleByDistance: new Cesium.NearFarScalar(1000, 0.6, 10000, 0.4),
          pixelOffsetScaleByDistance: new Cesium.NearFarScalar(1000, 0.4, 10000, 0.4),
          disableDepthTestDistance: 100000000
        }
      });
      console.log(entity)
      // 飞行到模型位置
      console.log(this.treeData)
      viewer.flyTo(entity)
    },
    addDevice(){
      this.showModel = true
      this.showDevice = true
    },
    cancel(){
      this.showModel = false
      this.showDevice = false
    },
    hasSameId(array1, array2) {
      const ids1 = new Set(array1.map(item => item.id));
@@ -148,7 +517,7 @@
        this.tableData = this.tableData.concat(arr)
      }
      const dealTreeData =this.dealTee()
      this.treeData = dealTreeData
      // this.treeData = dealTreeData
      console.log(this.treeData)
    },
    dealTee(){
@@ -167,7 +536,132 @@
        this.tableData.splice(index, 1);
      }
      const dealTreeData = this.dealTee()
      this.treeData = dealTreeData
      // this.treeData = dealTreeData
    },
    chooseModel(row){
      this.deviceId = row.id
      this.showModel = true
    },
    cancelModel(){
      this.showModel = false
    },
    receiveModel(obj){
      //deal逻辑
      console.log(obj)
      this.dealTableTemplate(obj)
      // this.dealTreeMerge(obj)
    },
    dealTableTemplate(obj){
      const target = this.tableData.find(item => item.id === obj.deviceId)
      if (target) {
        this.$set(target, 'mode', obj.modelObj.name) // ✅ Vue2 需要使用 $set 以确保响应式
      }
    },
    dealTreeMerge(obj){
      let newChildrenData= [
        { id: 100, label: '新子节点A',children:[{id: 1001,label: '新子节点A-1'}]},
        { id: 101, label: '新子节点B' }
      ]
      this.treeData.forEach(item => {
        if(item.id == obj.deviceId) {
          // 替换第一层每个节点的 children
          this.$set(item, 'children', JSON.parse(JSON.stringify(newChildrenData)));
        }
      });
    },
    drawConnectionsWithLabels(devices) {
      const airPoints = [];
      devices.forEach(device => {
        if (!Array.isArray(device.children)) return;
        device.children.forEach(groundPoint => {
          console.log(groundPoint)
          const groundPos = Cesium.Cartesian3.fromDegrees(
            groundPoint.longitude,
            groundPoint.latitude,
            groundPoint.height
          );
          // ✅ 地面点:添加实体 + label
          viewer.entities.add({
            position: groundPos,
            point: {
              pixelSize: 6,
              color: Cesium.Color.BLUE
            },
            label: {
              text: groundPoint.label || '',
              font: '14px sans-serif',
              fillColor: Cesium.Color.WHITE,
              style: Cesium.LabelStyle.FILL_AND_OUTLINE,
              outlineWidth: 2,
              outlineColor: Cesium.Color.BLACK,
              verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
              pixelOffset: new Cesium.Cartesian2(0, -12)
            }
          });
          // 遍历空中点
          if (Array.isArray(groundPoint.children)) {
            groundPoint.children.forEach(airPoint => {
              console.log(airPos)
              const airPos = Cesium.Cartesian3.fromDegrees(
                airPoint.longitude,
                airPoint.latitude,
                airPoint.height
              );
              // ✅ 空中点:添加实体 + label
              viewer.entities.add({
                position: airPos,
                point: {
                  pixelSize: 6,
                  color: Cesium.Color.YELLOW
                },
                label: {
                  text: airPoint.label || '',
                  font: '14px sans-serif',
                  fillColor: Cesium.Color.YELLOW,
                  style: Cesium.LabelStyle.FILL_AND_OUTLINE,
                  outlineWidth: 2,
                  outlineColor: Cesium.Color.BLACK,
                  verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
                  pixelOffset: new Cesium.Cartesian2(0, -12)
                }
              });
              // ✅ 地面点 ➜ 空中点 蓝色虚线
              viewer.entities.add({
                polyline: {
                  positions: [groundPos, airPos],
                  width: 2,
                  material: new Cesium.PolylineDashMaterialProperty({
                    color: Cesium.Color.BLUE,
                    dashLength: 8
                  })
                }
              });
              airPoints.push(airPos);
            });
          }
        });
      });
      // ✅ 所有空中点 ➜ 黄色实线连接
      if (airPoints.length > 1) {
        viewer.entities.add({
          polyline: {
            positions: airPoints,
            width: 3,
            material: Cesium.Color.YELLOW
          }
        });
      }
    },
    draw(){
      this.drawConnectionsWithLabels(this.treeData)
    }
  }
}
src/views/system/project/components/chooseDeviceDialog.vue
@@ -51,6 +51,7 @@
      submit(){
        // this.selectArr 
        this.$emit('dealChooseArr',this.selectArr)
        this.$emit('cancel')
      },
      clickRow(row){
        console.log(row)
@@ -76,7 +77,6 @@
              orientation: orientation,
              model: {
                uri: row.modelRoute, // 替换成你的模型路径
                scale: 1000,
              },
            });
            viewer.flyTo(entity)
src/views/system/project/components/chooseModelDialog.vue
@@ -3,18 +3,22 @@
    title="选择模板"
    :visible.sync="dialogVisible"
    @close="cancel"
    width="50%">
    <el-form ref="form" :model="form" label-width="80px">
      <el-form-item label="活动区域">
        <el-select v-model="form.region" placeholder="请选择活动区域">
          <el-option label="区域一" value="shanghai"></el-option>
          <el-option label="区域二" value="beijing"></el-option>
    width="20%">
    <el-form ref="form" :model="form" label-width="80px" :rules="rules">
      <el-form-item label="模板">
        <el-select v-model="form.modelObj" placeholder="请选择模板">
          <el-option
              v-for="item in templateArr"
              :key="item.id"
              :label="item.name"
              :value="item">
            </el-option>
        </el-select>
      </el-form-item>
       <span slot="footer" class="dialog-footer">
        <el-button @click="cancel">取 消</el-button>
      <el-form-item>
        <el-button type="primary" @click="submit">确 定</el-button>
      </span>
        <el-button @click="cancel">取 消</el-button>
      </el-form-item>
    </el-form>
  </el-dialog>
</template>
@@ -23,10 +27,15 @@
    name:'chooseModelDialog',
    components: {
    },
    props: {
      deviceId: {
        type: String,
        defaule: null
      }
    },
    data() {
      return {
        dialogVisible: true,
        showMap:false,
        tableColumns: [
            {
              label: '设备名称',
@@ -37,59 +46,46 @@
              prop: 'belongingRoute'
            },
        ],
        selectArr:[]
        selectArr:[],
        form:{},
        templateArr:[
          {
            id:111,
            name:'模板1'
          },
          {
            id:222,
            name:'模板2'
          },
          {
            id:333,
            name:'模板3'
          }
        ],
        rules:{
          modelObj: [
            { required: true, message: '请选择模板', trigger: 'change' }
          ]
        }
      };
    },
    mounted() {
      console.log(this.deviceId)
      if(this.deviceId){
        //点击模板查询设备下的关联模型的所有模板
      }
    },
    methods: {
      cancel(){
        this.showMap = false
        this.$emit('cancel')
      },
      chooseRow(row){
        this.showMap = false
        this.$emit('cancel')
        this.$emit('getRowData',row)
      },
        this.$emit('cancelModel')
      },
      submit(){
        // this.selectArr 
        this.$emit('dealChooseArr',this.selectArr)
      },
      clickRow(row){
        console.log(row)
        this.showMap =true
        setTimeout(()=>{
          const position = Cesium.Cartesian3.fromDegrees(0, 0, 0);
          // 设置模型方向(可选)
          // const heading = Cesium.Math.toRadians(135); // 朝东南方向
          let model = viewer.entities.getById("modelList");
          const heading = Cesium.Math.toRadians(120); // 朝东南方向
          const pitch = 0;
          const roll = 0;
          const orientation = Cesium.Transforms.headingPitchRollQuaternion(
            position,
            new Cesium.HeadingPitchRoll(heading, pitch, roll)
          );
          if(!model) {
            // 加载 glTF 模型
            const entity = viewer.entities.add({
              id: "modelList",
              name: "modelList",
              position: position,
              orientation: orientation,
              model: {
                uri: row.modelRoute, // 替换成你的模型路径
                scale: 1000,
              },
            });
            viewer.flyTo(entity)
          }else {
            model.orientation = orientation
          }
        },1000)
      },
      handleSelectionChange(selection) {
        console.log(selection)
        this.selectArr = selection
        //反显参数传递option对象
        this.form.deviceId = this.deviceId
        console.log(this.form)
        this.$emit('receiveModel',this.form)
        this.$emit('cancelModel')
      },
    }
  };
src/views/system/shootPoint/components/chooseModelDialog.vue
@@ -6,7 +6,7 @@
    width="70%">
    <el-row :gutter="20">
       <el-col :span="showMap ? 12 : 24" :xs="24">
        <AppTable ref="AppTable"  :showDeptSearch="false" :url="'tower/point/list'" :tableColumns="tableColumns"  :showSearchBtn="false">
        <AppTable ref="AppTable"  :showDeptSearch="false" :url="'tower/model/list'" :tableColumns="tableColumns"  :showSearchBtn="false">
          <template #operator="{ row }">
            <el-button size="mini" type="text"
              @click="clickRow(row)">预览</el-button>
@@ -97,7 +97,6 @@
              orientation: orientation,
              model: {
                uri: row.modelRoute, // 替换成你的模型路径
                scale: 1000,
              },
            });
            viewer.flyTo(entity)
src/views/system/shootPoint/components/shootPointDialog.vue
@@ -51,7 +51,7 @@
import ChooseModelDialog from './chooseModelDialog.vue';
import { addPoint} from "@/api/system/template"
 let globalon  = 0
let globalat =0
let globalat = 0
const centerCartesian = Cesium.Cartesian3.fromDegrees(globalon,globalat , 0)
let rotationAngle = Cesium.Math.toRadians(60)
let relativeData 
@@ -203,6 +203,7 @@
      }
      console.log(this.treeData)
    },
    //数组 塔的精度 塔的纬度  塔的高度  半径
    insertRaisedPoints(data, centerLon, centerLat, centerHeight, radius = 130) {
      const center = Cesium.Cartesian3.fromDegrees(centerLon, centerLat, centerHeight);
      const result = JSON.parse(JSON.stringify(data)); // 深拷贝避免污染原数据