소스 검색

获取属性信息

zpf 11 달 전
부모
커밋
6b45fac4ef
3개의 변경된 파일63개의 추가작업 그리고 14개의 파일을 삭제
  1. 11 13
      src/components/Query/clickQuery/clickQuery.vue
  2. 50 0
      src/components/Query/clickQuery/pick_cockpit_vector.js
  3. 2 1
      src/views/cockpit/tdsy.vue

+ 11 - 13
src/components/Query/clickQuery/clickQuery.vue

@@ -53,6 +53,7 @@ import { GetGDlnfo, GetXzqhTree, GetHouseInfo } from "../../../api/map";
 import { keys } from "lodash";
 import { keys } from "lodash";
 import { handModel, handnew, clearTranslate, keyName } from "./modelLayering";
 import { handModel, handnew, clearTranslate, keyName } from "./modelLayering";
 import CockpitVector from "./CockpitVector.vue";
 import CockpitVector from "./CockpitVector.vue";
+import * as pick_cockpit_vector from "./pick_cockpit_vector.js";
 
 
 let gwtype;
 let gwtype;
 export default {
 export default {
@@ -85,18 +86,6 @@ export default {
       queryResultsGeomPart: {},
       queryResultsGeomPart: {},
       viewer: null,
       viewer: null,
       dataSourceLayer: null,
       dataSourceLayer: null,
-      obj: [[
-        {
-          "name": "BSM",
-          "value": "460203251000000700"
-        }, {
-          "name": "BSM",
-          "value": "460203251000000700"
-        }, {
-          "name": "BSM",
-          "value": "460203251000000700"
-        }
-      ]],
       actionOptions: [
       actionOptions: [
         {
         {
           index: 1,
           index: 1,
@@ -158,7 +147,11 @@ export default {
       }
       }
     },
     },
   },
   },
-  mounted() { },
+  mounted() {
+
+    this.$nextTick((res) => {
+    });
+  },
   methods: {
   methods: {
     toggleVisibility() {
     toggleVisibility() {
       this.removeMapLayerQuery();
       this.removeMapLayerQuery();
@@ -702,6 +695,11 @@ export default {
           clearTranslate();
           clearTranslate();
           break;
           break;
         }
         }
+        case 4: {//驾驶舱矢量数据点选查询
+          pick_cockpit_vector.init_handler();
+
+          break;
+        }
         default:
         default:
           break;
           break;
       }
       }

+ 50 - 0
src/components/Query/clickQuery/pick_cockpit_vector.js

@@ -0,0 +1,50 @@
+let handler_cockpit = null;
+
+
+
+export const init_handler = () => {
+
+    if (handler_cockpit == null) {
+        handler_cockpit = new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas);
+    }
+    handler_cockpit.setInputAction(async event => {
+        let pickObj = viewer.scene.pick(event.position);
+        var position = viewer.scene.pickPosition(event.position);
+
+        if (!position)//点击到地球之外
+            return false;
+        var cartographic = Cesium.Cartographic.fromCartesian(position);
+
+
+        let longitude = Cesium.Math.toDegrees(cartographic.longitude);
+        let latitude = Cesium.Math.toDegrees(cartographic.latitude);
+        let height = cartographic.height;
+        let heading = viewer.scene.camera.heading;
+        let pitch = viewer.scene.camera.pitch;
+        // that.addSceneFun()
+
+        if (!position) {
+            position = Cesium.Cartesian3.fromDegrees(0, 0, 0);
+        }
+        if (Cesium.defined(pickObj)) {
+
+            if (pickObj.primitive instanceof Cesium.Primitive && pickObj.id.properties && pickObj.id.properties.type == '国有建设用地完成项目') {//点击primitive
+                //primitive相关操作
+                let propertyNames = pickObj.id.properties.propertyNames
+                propertyNames.forEach((res) => {
+                    console.log(res,pickObj.id.properties[res]._value);
+
+                })
+            }
+
+            handler_cockpit.destroy();
+            handler_cockpit = null;
+        } else {
+
+
+        }
+
+    }, Cesium.ScreenSpaceEventType.LEFT_CLICK);
+
+
+}

+ 2 - 1
src/views/cockpit/tdsy.vue

@@ -840,6 +840,7 @@ export default {
     draw_vector_tdgy_gy_jd() {
     draw_vector_tdgy_gy_jd() {
 
 
       this.vector_data.forEach((res) => {
       this.vector_data.forEach((res) => {
+        res.type = '国有建设用地完成项目'
         res.geom.coordinates[0].forEach((res_coordinates) => {
         res.geom.coordinates[0].forEach((res_coordinates) => {
 
 
           const twoDArray = res_coordinates;
           const twoDArray = res_coordinates;
@@ -848,7 +849,7 @@ export default {
 
 
           this.gy_jd_entity.entities.add({
           this.gy_jd_entity.entities.add({
             // position: Cesium.Cartesian3.fromDegrees(res_coordinates[0], res_coordinates[1], 0),
             // position: Cesium.Cartesian3.fromDegrees(res_coordinates[0], res_coordinates[1], 0),
-            // properties: obj,
+            properties: res,
             name: "国有建设用地完成项目",
             name: "国有建设用地完成项目",
             polygon: {
             polygon: {
               zIndex: 1,
               zIndex: 1,