Browse Source

初始化视角

zpf 1 năm trước cách đây
mục cha
commit
9a8064e2b6
2 tập tin đã thay đổi với 86 bổ sung42 xóa
  1. 54 37
      src/components/Viewer/smViewer.vue
  2. 32 5
      src/views/viewer.vue

+ 54 - 37
src/components/Viewer/smViewer.vue

@@ -1,7 +1,7 @@
 <template>
-  
-  <div id="cesiumContainer" class="cockpitNew" :class="isbig?'cesiumbig':''" ref="viewer">
-    <i class="cesiumbtn" :class="isbig?'el-icon-aim':'el-icon-rank'" :title="isbig?'缩小':'放大'" @click="viewerChange"></i> 
+  <div id="cesiumContainer" class="cockpitNew" :class="isbig ? 'cesiumbig' : ''" ref="viewer">
+    <i class="cesiumbtn" :class="isbig ? 'el-icon-aim' : 'el-icon-rank'" :title="isbig ? '缩小' : '放大'"
+      @click="viewerChange"></i>
     <!-- 工具选择组件 -->
     <!-- <tool-bar></tool-bar>
     <compass></compass>
@@ -145,44 +145,62 @@ export default {
         document.querySelector(".cesium-geocoder-input").placeholder =
           Resource.searchPlaceHolder;
       }
-      viewer.camera.flyTo({
-        destination: Cesium.Cartesian3.fromDegrees(
-          window.mapview[0],
-          window.mapview[1],
-          window.mapview[2]
-        ), //海南经纬度
-        orientation: {
-          heading: 0,
-          pitch: -0.7672,
-          roll: 0,
+      // viewer.camera.flyTo({
+      //   destination: Cesium.Cartesian3.fromDegrees(
+      //     window.mapview[0],
+      //     window.mapview[1],
+      //     window.mapview[2]
+      //   ), //海南经纬度
+      //   orientation: {
+      //     heading: 0,
+      //     pitch: -0.7672,
+      //     roll: 0,
+      //   },
+      //   duration: 0,
+      //   complete: function () {
+      //     common.initHandler("Polygon"); //初始化全局常用的画面的drawhandler
+      //     store.setToolBarShow(true); //显示工具栏
+      //     document.getElementById("loadingbar").remove(); //移除加载动画
+      //     // viewer.camera.flyTo({
+      //     //   destination: new Cesium.Cartesian3.fromDegrees(
+      //     //     110.60396458865515,
+      //     //     34.54408834959379,
+      //     //     30644793.325518917
+      //     //   ),
+      //     //   duration: 5,
+      //     //   complete: function () {
+      //     //     common.initHandler("Polygon"); //初始化全局常用的画面的drawhandler
+      //     //     store.setToolBarShow(true); //显示工具栏
+      //     //   },
+      //     // });
+      //     // setTimeout(() => {
+      //     //   document.getElementById("loadingbar").remove(); //移除加载动画
+      //     // }, 1000);
+      //   },
+      // });
+
+      viewer.camera.flyTo({ //定位到范围中心点
+        destination: {
+          x: -2060129.9008573592,
+          y: 5821612.276343181,
+          z: 1945733.1112288632
+          // x: x,
+          // y: y,
+          // z: z
         },
-        duration: 0,
-        complete: function () {
-          common.initHandler("Polygon"); //初始化全局常用的画面的drawhandler
-          store.setToolBarShow(true); //显示工具栏
-          document.getElementById("loadingbar").remove(); //移除加载动画
-          // viewer.camera.flyTo({
-          //   destination: new Cesium.Cartesian3.fromDegrees(
-          //     110.60396458865515,
-          //     34.54408834959379,
-          //     30644793.325518917
-          //   ),
-          //   duration: 5,
-          //   complete: function () {
-          //     common.initHandler("Polygon"); //初始化全局常用的画面的drawhandler
-          //     store.setToolBarShow(true); //显示工具栏
-          //   },
-          // });
-          // setTimeout(() => {
-          //   document.getElementById("loadingbar").remove(); //移除加载动画
-          // }, 1000);
+        orientation: {
+          heading: 0.00046942847916398023,
+          pitch: -0.7544607897920557,
+          // heading: testHeading,//左右方向
+          // pitch: testPitch, //上下方向
+          roll: 0.0
         },
-      });
+      })
       store.setisInitViewer(true); //初始化viewer标志
     },
-    viewerChange(){
+    viewerChange() {
       this.isbig = !this.isbig
-      this.$emit("viewerChange",this.isbig)
+      this.$emit("viewerChange", this.isbig)
     }
 
   },
@@ -223,5 +241,4 @@ export default {
 </script>
 <style lang="scss">
 @import "smViewer";
-
 </style>

+ 32 - 5
src/views/viewer.vue

@@ -3,13 +3,13 @@
         <datePicker @dateChange="dateChange"></datePicker>
         <ser-center></ser-center>
         <JSYD />
-        <BJXM/>
+        <BJXM />
         <TDSC />
         <HYSY ref="hysy_ref" />
         <TDSY />
-        <GDBH ref="gdbh_ref"/>
-        <STXF ref="stxf_ref"/>
-        <WPJG ref="wpjg_ref"/>
+        <GDBH ref="gdbh_ref" />
+        <STXF ref="stxf_ref" />
+        <WPJG ref="wpjg_ref" />
     </div>
 </template>
 
@@ -31,7 +31,7 @@ import SerCenter from './cockpitNew1/serCenter.vue';
 import { cockpitInfo } from '@/api/cockpit'
 
 export default {
-    components: { serCenter, JSYD,BJXM, TDSC, HYSY, TDSY, GDBH, STXF, WPJG, datePicker, SerCenter },
+    components: { serCenter, JSYD, BJXM, TDSC, HYSY, TDSY, GDBH, STXF, WPJG, datePicker, SerCenter },
     data() {
         return {
             flag: true,
@@ -120,6 +120,9 @@ export default {
                 let height = cartographic.height;
                 let heading = viewer.scene.camera.heading;
                 let pitch = viewer.scene.camera.pitch;
+                // that.addSceneFun()
+                // console.log(longitude, latitude, height);
+
                 // if (!pickObj)//未获取实体
                 //     return false;
 
@@ -254,6 +257,30 @@ export default {
                 });
 
             })
+        },
+        addSceneFun() {
+            var pitch = viewer.camera.pitch;
+            //获取当前视角的heading
+            var heading = viewer.camera.heading;
+            //获取当前视角的postion(位置)
+            var position = viewer.camera.position;
+            var x = position.x;
+            var y = position.y;
+            var z = position.z;
+            var testPitch = pitch;
+            var testHeading = heading;
+            // console.log("获取当前视角x,y,z", position.x, position.y, position.z, "pitch", pitch, "heading", heading);
+
+            var obj = {
+                "x": x,
+                "y": y,
+                "z": z,
+                "pitch": pitch,
+                "heading": heading,
+            }
+
+            console.log(obj, "asd");
+
         }
     },
     beforeCreate() { }, //生命周期 - 创建之前