管道基础大数据平台系统开发-【前端】-新系統界面
Surpriseplus
2023-05-22 ff5731b6a22c9f2451dc8065d2fa32153bdd4a1a
src/components/mapsdk.vue
@@ -78,13 +78,22 @@
              label-width="50px"
            >
              <el-form-item label="经度:">
                <el-input v-model="coordFrom.lon"></el-input>
                <el-input
                  v-model="coordFrom.lon"
                  placeholder="请输入经度"
                ></el-input>
              </el-form-item>
              <el-form-item label="纬度:">
                <el-input v-model="coordFrom.lat"></el-input>
                <el-input
                  v-model="coordFrom.lat"
                  placeholder="请输入维度"
                ></el-input>
              </el-form-item>
              <el-form-item label="高度:">
                <el-input v-model="coordFrom.height"></el-input>
                <el-input
                  v-model="coordFrom.height"
                  placeholder="请输入高度"
                ></el-input>
              </el-form-item>
              <el-form-item>
                <el-button
@@ -161,6 +170,7 @@
                <el-input
                  style="width: 160px"
                  v-model="comprehensive.name"
                  placeholder="请输入地名...."
                ></el-input>
              </el-form-item>
              <el-form-item>
@@ -738,9 +748,9 @@
        val: 50,
      },
      coordFrom: {
        lon: 116.3911,
        lat: 39.9115,
        height: 100000,
        lon: "",
        lat: "",
        height: "",
      },
      listData: {
        name: null,
@@ -829,7 +839,7 @@
        window.pickedFeature = sgworld.Viewer.scene.pick(event.position);
        if (Cesium.defined(window.pickedFeature)) {
          if (window.pickedFeature.primitive instanceof Cesium.Cesium3DTileset) {
            if (window.pickedFeature && window.pickedFeature.getProperty) {
            if (window.pickedFeature) {
              window.pickedColor = window.pickedFeature.color
              window.pickedFeature.color = Cesium.Color.RED.withAlpha(0.3);
@@ -842,24 +852,32 @@
      }, Cesium.ScreenSpaceEventType.LEFT_CLICK)
    },
    async setModelInfoData(result) {
      var modelKey = 'id'
      if (result.tileset.pubid > 0) {
        const data = await comprehensive_selectPubById({ id: result.tileset.pubid })
        if (data.code != 200) {
          return
        } else {
      var modelKey = 'id';
      debugger
      var modelid;
      if (result.tileset) {
        if (result.tileset.pubid > 0) {
          modelKey = JSON.parse(data.result.json).modelid
          const data = await comprehensive_selectPubById({ id: result.tileset.pubid })
          if (data.code != 200) {
            return
          } else {
            debugger
            modelKey = JSON.parse(data.result.json).modelid
          }
          if (!modelKey) {
            return this.$message('没有模型主键ID,无法查询数据');
          }
          modelid = pickedFeature.getProperty(modelKey);
        }
        if (!modelKey) {
          return this.$message('没有模型主键ID,无法查询数据');
        }
      } else {
        modelid = '3dml' + result.primitive.id;
      }
      var that = this
      var obj = {
        layerid: pickedFeature.primitive.layerId,
        modelid: pickedFeature.getProperty(modelKey)
        modelid: modelid
      }
      const data1 = await comprehensive_selectModelByGuid(obj);
@@ -877,7 +895,7 @@
      }
      that.$store.state.catModelInfo = {
        id: pickedFeature.getProperty(modelKey),
        id: modelid,
        name: name,
        type: type,
        bak: bak,
@@ -1005,7 +1023,8 @@
        window.terrainLayer = null;
        window.terrainLayer = new Cesium.CesiumTerrainProvider({
          url: LFData + '/3d/terrain/dem20230321'
          // url: LFData + '/3d/terrain/dem20230321'
          url: demLayer
        });
        Viewer.terrainProvider = window.terrainLayer
        Viewer.camera.flyTo({
@@ -1185,13 +1204,20 @@
    },
    //定位
    setCoordLocal() {
      var lon = parseFloat(this.coordFrom.lon);
      var lat = parseFloat(this.coordFrom.lat);
      var height = parseFloat(this.coordFrom.height);
      if (!this.coordFrom.lon) {
        return this.$message('请输入经度');
      }
      if (!this.coordFrom.lat) {
        return this.$message('请输入纬度');
      }
      var lon = parseFloat(this.coordFrom.lon)
      var lat = parseFloat(this.coordFrom.lat)
      var height = parseFloat(this.coordFrom.height) == NaN ? parseFloat(this.coordFrom.height) : 100;
      var position = {
        X: lon,
        Y: lat,
        Altitude: 2000,
        Altitude: height,
      };
      if (this.imagePoint != null) {
        sgworld.Creator.DeleteObject(this.imagePoint);