From 065669d31914a2f65c48d351417f48e49bd79c0c Mon Sep 17 00:00:00 2001
From: lixuliang <lixuliang_hd@126.com>
Date: 星期三, 13 三月 2024 11:30:46 +0800
Subject: [PATCH] Merge branch 'master' of http://103.135.160.14:9034/r/PM20221203225_MobileWeb

---
 src/components/viewer2.vue |  192 ++++++++++++++++++++++++++++-------------------
 1 files changed, 115 insertions(+), 77 deletions(-)

diff --git a/src/components/viewer2.vue b/src/components/viewer2.vue
index 158d9f6..4a27409 100644
--- a/src/components/viewer2.vue
+++ b/src/components/viewer2.vue
@@ -4,11 +4,11 @@
     <div id="openlayerContainer" @click="clicktoclose"></div>
 
     <!-- 椤甸潰鏍囬 -->
-    <div class="titleBg">
+    <!-- <div class="titleBg">
       <img src="@/assets/img/title/title.png" />
-    </div>
+    </div> -->
     <!-- 鍘嗗彶褰卞儚 -->
-    <!-- <my-history v-if="state.show"></my-history> -->
+    <my-history v-if="state.show"></my-history>
     <!-- 鍘嗗彶褰卞儚鍏抽棴鎸夐挳 -->
     <!-- <div class="colseBtn" v-if="state.show" @click="closeHistory(false)">
       <img class="searchBtn" src="@/assets/closeinput1.png" />
@@ -24,7 +24,7 @@
     <!-- 鍘熷乏涓嬭彍鍗� -->
     <!-- <my-menu v-on:getshowsta="datafromchild" ref="menu"></my-menu> -->
     <!-- 宸︿笅蹇嵎鍖哄煙锛堝浣嶃�佹寚鍖楃瓑锛� -->
-    <my-left-bottom :test="childrendata"></my-left-bottom>
+    <!-- <my-left-bottom :test="childrendata"></my-left-bottom> -->
     <!-- 鍙充笅蹇嵎鍖哄煙锛堟斁澶х缉灏忥級 -->
     <my-right-bottom :test="childrendata"></my-right-bottom>
 
@@ -52,13 +52,14 @@
     <!-- 鍦熷湴绠$悊寮圭獥 -->
     <my-land-admin-info></my-land-admin-info>
     <my-slider></my-slider>
+    <my-poplayer></my-poplayer>
   </div>
 </template>
 <script>
 import store from "@/utils/store2.js";
-
+import { setClick, leftClick, touchClick } from "@/utils/map2.js";
 import _GLOBAL from "@/assets/GLOBAL2";
-import { leftClick, loadLayer } from "@/utils/map.js";
+// import { leftClick, loadLayer } from "@/utils/map.js";
 import leftBottom from "@/components/leftMenu/bottom2.vue";
 import rightBottom from "@/components/rightMenu/bottom2.vue";
 import sousuo from "@/components/leftMenu/sousuo2.vue";
@@ -66,27 +67,39 @@
 import NavigationBar from "./rightNavigation/NavigationBar2.vue";
 import layertree from "@/components/rightMenu/layerTree2.vue";
 import settingPanel from "./sideMenu/settingMenu/main.vue";
-import collectionPanel from "./sideMenu/collectionMenu/main.vue";
+import collectionPanel from "./sideMenu/collectionMenu/main2.vue";
 import directionPanel from "./sideMenu/directionMenu/main.vue";
-import addCollectionPanel from "./sideMenu/addCollectionMenu/main.vue";
+import addCollectionPanel from "./sideMenu/addCollectionMenu/main2.vue";
 import statisticsPanel from "./sideMenu/statisticsMenu/main.vue";
 import manholePanel from "./sideMenu/manholeStatistics/main.vue";
 import videoPanel from "./sideMenu/videoStatistics/main.vue";
 import layerPanel from "./sideMenu/layerMenu/main2.vue";
 import roamPanel from "./sideMenu/roamPanel/main.vue";
 import layerTreePanel from "./sideMenu/layerTreePanel/main2.vue";
-import history from "./poplayer/history.vue";
-import landAdminInfo from "./poplayer/landAdmin.vue";
-import sliderAlpha from "./sideMenu/sliderAlpha/main.vue";
+import history from "./poplayer/history2.vue";
+import landAdminInfo from "./poplayer/landAdmin2.vue";
+import mainPoplayer from "./poplayer/poplayer2.vue";
+import sliderAlpha from "./sideMenu/sliderAlpha/main2.vue";
 import Axios from "axios";
-
-import Map from "ol/Map.js";
-import TileLayer from "ol/layer/Tile.js";
-import View from "ol/View.js";
-import { get as getProjection, getTransform } from "ol/proj";
-import { getWidth, getTopLeft, applyTransform } from "ol/extent";
-import WMTS from "ol/source/WMTS";
-import WMTSTileGrid from "ol/tilegrid/WMTS";
+import {
+  addImageLayer,
+  addAnnotationLayer,
+  addHxLayer,
+  addYzLayer,
+  loadBaseMap,
+  loadGeoMap,
+  listenDirection,
+  getCurrentPosition
+} from "@/utils/tool";
+// import Map from "ol/Map.js";
+// import TileLayer from "ol/layer/Tile.js";
+// import View from "ol/View.js";
+// import { get as getProjection, getTransform } from "ol/proj";
+// import { getWidth, getTopLeft, applyTransform } from "ol/extent";
+// import WMTS from "ol/source/WMTS";
+// import WMTSTileGrid from "ol/tilegrid/WMTS";
+// import XYZ from "ol/source/XYZ";
+// import {createXYZ} from "ol/tilegrid";
 
 export default {
   name: "viewer2",
@@ -110,6 +123,7 @@
     "my-history": history,
     "my-land-admin-info": landAdminInfo,
     "my-slider": sliderAlpha,
+    "my-poplayer": mainPoplayer,
   },
   data() {
     return {
@@ -132,12 +146,10 @@
       state: store.history,
     };
   },
-  created() {},
+  created() { },
   mounted() {
     this.$nextTick(function () {
-      console.log("openlayer init");
-
-      Map.prototype.getLayerByName = function (name) {
+      ol.Map.prototype.getLayerByName = function (name) {
         var layer;
         this.getLayers().array_.forEach(function (lyr) {
           if (name == lyr.values_.name) {
@@ -151,19 +163,23 @@
 
       const TDTKey = "f234b950740b8c2e0d9959a51c169d21";
       const tiandituUrl = "http://t0.tianditu.gov.cn";
-      let options = { proj: "EPSG:4326", layer: "img", matrixSets: "c" };
+      let options = { proj: "EPSG:3857", layer: "img", matrixSets: "c" };
       let _proj = options.proj;
       let _layer = options.layer;
       let _key = TDTKey;
       let _matrixSets = options.matrixSets;
 
-      let projection = getProjection(_proj);
+      let projection = ol.proj.get(_proj);
       let projectionExtent = projection.getExtent();
-      let origin = projectionExtent ? getTopLeft(projectionExtent) : [-180, 90];
-      let fromLonLat = getTransform("EPSG:4326", projection);
+      let origin = projectionExtent
+        ? ol.extent.getTopLeft(projectionExtent)
+        : [-180, 90];
+      let fromLonLat = ol.proj.getTransform("EPSG:3857", projection);
       let width = projectionExtent
-        ? getWidth(projectionExtent)
-        : getWidth(applyTransform([-180.0, -90.0, 180.0, 90.0], fromLonLat));
+        ? ol.extent.getWidth(projectionExtent)
+        : ol.extent.getWidth(
+          ol.extent.applyTransform([-180.0, -90.0, 180.0, 90.0], fromLonLat)
+        );
 
       let resolutions = [];
       let matrixIds = [];
@@ -171,7 +187,7 @@
         resolutions[z] = width / (256 * Math.pow(2, z));
         matrixIds[z] = z;
       }
-      let wmtsTileGrid = new WMTSTileGrid({
+      let wmtsTileGrid = new ol.tilegrid.WMTS({
         origin: origin,
         resolutions: resolutions,
         matrixIds: matrixIds,
@@ -180,7 +196,7 @@
         "url:",
         `${tiandituUrl}/${_layer}_${_matrixSets}/wmts?tk=${_key}`
       );
-      let wmtsSource = new WMTS({
+      let wmtsSource = new ol.source.WMTS({
         url: `${tiandituUrl}/${_layer}_${_matrixSets}/wmts?tk=${_key}`,
         layer: _layer,
         version: "1.0.0",
@@ -191,13 +207,13 @@
         style: "default",
         tileGrid: wmtsTileGrid,
       });
-      let wmtsLayer = new TileLayer({
+      let wmtsLayer = new ol.layer.Tile({
         name: "褰卞儚鍦板浘",
         id: _layer + "_" + _matrixSets,
         source: wmtsSource,
       });
 
-      let wmtsSource1 = new WMTS({
+      let wmtsSource1 = new ol.source.WMTS({
         url: `${tiandituUrl}/cia_${_matrixSets}/wmts?tk=${_key}`,
         layer: "cia",
         version: "1.0.0",
@@ -208,13 +224,13 @@
         style: "default",
         tileGrid: wmtsTileGrid,
       });
-      let wmtsLayer1 = new TileLayer({
+      let wmtsLayer1 = new ol.layer.Tile({
         name: "璺綉鍥惧眰",
         id: "cia_c",
         source: wmtsSource1,
       });
 
-      let wmtsSource2 = new WMTS({
+      let wmtsSource2 = new ol.source.WMTS({
         url: `${tiandituUrl}/vec_c/wmts?tk=${_key}`,
         layer: "vec",
         version: "1.0.0",
@@ -225,30 +241,49 @@
         style: "default",
         tileGrid: wmtsTileGrid,
       });
-      let wmtsLayer2 = new TileLayer({
+      let wmtsLayer2 = new ol.layer.Tile({
         name: "浜岀淮鍦板浘",
         id: "cva_c",
         source: wmtsSource2,
       });
-      wmtsLayer2.setVisible(false);
-      ////鍗槦褰卞儚
-      layers.push(wmtsLayer);
+      // wmtsLayer2.setVisible(false);
       ////浜岀淮鍦板浘
-      layers.push(wmtsLayer2);
+      // layers.push(wmtsLayer2);
+      ////鍗槦褰卞儚
+      // layers.push(wmtsLayer);
       ////璺綉
-      layers.push(wmtsLayer1);
+      // layers.push(wmtsLayer1);
 
-      const map = new Map({
+      const map = new ol.Map({
         layers: layers,
         target: "openlayerContainer",
-        view: new View({
-          center: [116.505348, 39.795592],
-          projection: "EPSG:4326",
-          zoom: 12,
+        view: new ol.View({
+          center: ol.proj.fromLonLat([116.505348, 39.795592]),
+          projection: "EPSG:3857",
+          zoom: 11.5,
+          minZoom: 7,
+          maxZoom: 19.5,
+          enableRotation: false,
+          // constrainResolution: true,
+          smoothResolutionConstraint: false,
         }),
       });
 
-      window.map = map;
+      window.mapapi = map;
+      // addImageLayer();
+      // addAnnotationLayer();
+      window.mapapi.getView().setZoom(14);
+      loadGeoMap();
+      loadBaseMap();
+      addHxLayer();
+      addYzLayer();
+
+      setClick(true);
+      touchClick();
+
+      getCurrentPosition();
+      listenDirection();
+      // leftClick()
 
       window.layerOpen = function (name, options) {
         layuiLayer.close(SmartEarthPopupData.layerProp);
@@ -306,34 +341,34 @@
   },
   methods: {
     clicktoclose() {
-      clearTimeout(this.timer);
-      this.timer = setTimeout(() => {
-        this.count++;
-        if (this.count == 2) {
-          // console.log("鍗曞嚮浜嬩欢");
-          // 鍏抽棴鎵�鏈夊脊绐�
-          //this.$refs.menu.closeall();
-          // 娓呴櫎瀹氫綅涓殑浣嶇疆鏍囪
-          //this.$refs.menu.clearFlyPoint();
-        } else {
-          // 鎵ц鏀惧ぇ鎿嶄綔
-          // console.log("鍙屽嚮");
-          // Viewer.camera.zoomIn();
-          // console.log(window.clickPOI);
-          let p = sgworld.Navigate.getDegrees();
-          // console.log(p);
-          Viewer.camera.flyTo({
-            destination: Cesium.Cartesian3.fromDegrees(
-              window.clickPOI.lon,
-              window.clickPOI.lat,
-              p.height / 1.8
-            ),
-            duration: 1.0,
-          });
-        }
-        this.count = 0;
-      }, 300);
-      this.count++;
+      // clearTimeout(this.timer);
+      // this.timer = setTimeout(() => {
+      //   this.count++;
+      //   if (this.count == 2) {
+      //     // console.log("鍗曞嚮浜嬩欢");
+      //     // 鍏抽棴鎵�鏈夊脊绐�
+      //     //this.$refs.menu.closeall();
+      //     // 娓呴櫎瀹氫綅涓殑浣嶇疆鏍囪
+      //     //this.$refs.menu.clearFlyPoint();
+      //   } else {
+      //     // 鎵ц鏀惧ぇ鎿嶄綔
+      //     // console.log("鍙屽嚮");
+      //     // Viewer.camera.zoomIn();
+      //     // console.log(window.clickPOI);
+      //     // let p = sgworld.Navigate.getDegrees();
+      //     // console.log(p);
+      //     // Viewer.camera.flyTo({
+      //     //   destination: Cesium.Cartesian3.fromDegrees(
+      //     //     window.clickPOI.lon,
+      //     //     window.clickPOI.lat,
+      //     //     p.height / 1.8
+      //     //   ),
+      //     //   duration: 1.0,
+      //     // });
+      //   }
+      //   this.count = 0;
+      // }, 300);
+      // this.count++;
     },
     datafromchild(data) {
       for (var i in data) {
@@ -366,7 +401,7 @@
       console.log(window.gisBaseUrl);
       Axios.get(
         window.gisBaseUrl +
-          "/gisserver/wfsserver/qiyelianqiye?version=1.3.0&request=GetFeature&format=json&typename=浼佷笟閾句紒涓�"
+        "/gisserver/wfsserver/qiyelianqiye?version=1.3.0&request=GetFeature&format=json&typename=浼佷笟閾句紒涓�"
       ).then((res) => {
         console.log(res);
       });
@@ -380,7 +415,8 @@
   width: 100%;
   height: 100%;
   background: black;
-  position: absolute !important;
+  /* position: absolute !important; */
+  z-index: 0;
 }
 
 .titleBg {
@@ -404,12 +440,14 @@
 .bottomLeft {
   display: none;
 }
+
 .colseBtn {
   position: absolute;
   z-index: 2;
   top: 0.55rem;
   left: 0.2rem;
 }
+
 .colseBtn img {
   width: 30px;
 }

--
Gitblit v1.9.3