北京经济技术开发区经开区虚拟城市项目-【前端】-Web
lixuliang
2024-02-04 63e2b53fd06a00e8a6ffbd132bb305470325a900
src/components/menu/tools/special.vue
@@ -243,7 +243,7 @@
import { roman } from "../../../assets/json/index.js";
import URLInCode from "@/assets/js/urlInCode";
import keyName from "@/utils/poiKeys";
import LayerField from "../../../../static/NameConf";
import LayerField from "@/utils/NameConf";
let handler;
let tooltipHTML;
window.divPoint1 = null;
@@ -578,13 +578,11 @@
    },
    setCesuimHandle() {
      var that = this;
      Bus.$on("clearSelectObject", this.clearSelectObject);
      handler && handler.destroy();
      handler = new Cesium.ScreenSpaceEventHandler(Viewer.scene.canvas);
      handler.setInputAction((event) => {
        let nPickFeature = sgworld.Viewer.scene.pick(event.position);
        if (Cesium.defined(nPickFeature)) {
          this.resetImg();
          if (buildingPolygon) {
@@ -790,6 +788,55 @@
                  );
                }
              });
          } else if (
            nPickFeature.id.fid &&
            nPickFeature.id.fid.includes("免费住所空间0131")
          ) {
            let obj = nPickFeature.id.attributes;
            let lon = 116.50592;
            let lat = 39.798999;
            if (divPoint1) {
              divPoint1.deleteObject();
            }
            tooltipHTML = "";
            //重置LayerField数据
            for (let item in LayerField) {
              LayerField[item] = 0;
            }
            // 删除字段
            let { Id, ...userData } = obj;
            // 直接展示
            for (let itemName in userData) {
              let value = userData[itemName];
              let CnName = keyName[itemName] || itemName;
              value && (tooltipHTML += `<p>${CnName}:${value || "无"}</p>`);
            }
            let description = `
                   <div id="pointInfoBox" class="pointInfoBox" style="pointer-events:auto;">
                    <span style="position: absolute; right: 12px; top: 6px;">×</span>
                    ${tooltipHTML}
                  </div>
                `;
            divPoint1 = sgworld.Creator.createDivPoint(
              "详细信息",
              {
                lon: lon,
                lat: lat,
                height: 50,
              },
              {
                type: "custom",
                offset: ["c", 50],
                description,
                onclick(data) {
                  divPoint1 && divPoint1.deleteObject();
                },
              }
            );
            //关闭地块信息弹窗
            Bus.$emit("closeLandInfoPop", true);
            layuiLayer.close(SmartEarthPopupData.layerProp);
            this.$store.commit("description", obj);
          }
          // else if (nPickFeature.primitive instanceof Cesium.GroundPrimitive) {
          //   let wmsLayer = this.$store.state.selectedLayers.filter((item) => {