From 023e57a24b3ce05de8a8921387538ec7558f8fd3 Mon Sep 17 00:00:00 2001
From: 少年 <1392120328@qq.com>
Date: 星期二, 06 二月 2024 17:27:51 +0800
Subject: [PATCH] 11

---
 src/components/viewer2.vue |  129 +++++++++++++++++++++++++++++++++---------
 1 files changed, 100 insertions(+), 29 deletions(-)

diff --git a/src/components/viewer2.vue b/src/components/viewer2.vue
index 24b7784..b8e22f5 100644
--- a/src/components/viewer2.vue
+++ b/src/components/viewer2.vue
@@ -4,8 +4,9 @@
     <div id="openlayerContainer" @click="clicktoclose"></div>
 
     <div id="ponitPanel">
+      <div id="ponitPanel-close" @click.stop="closehandle"></div>
       <div class="title">鐐逛綅璇︽儏</div>
-      <div class="content">
+      <div id="ponitPanel-content">
 
       </div>
 
@@ -86,17 +87,19 @@
 import layerTreePanel from "./sideMenu/layerTreePanel/main2.vue";
 import history from "./poplayer/history.vue";
 import landAdminInfo from "./poplayer/landAdmin.vue";
-import poplayer from "./poplayer/main.vue";
+import poplayer from "./poplayer/main2.vue";
 import sliderAlpha from "./sideMenu/sliderAlpha/main.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 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",
@@ -148,7 +151,7 @@
     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) {
@@ -168,13 +171,13 @@
       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:4326", 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 = [];
@@ -182,7 +185,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,
@@ -191,7 +194,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",
@@ -202,13 +205,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",
@@ -219,13 +222,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",
@@ -236,7 +239,7 @@
         style: "default",
         tileGrid: wmtsTileGrid,
       });
-      let wmtsLayer2 = new TileLayer({
+      let wmtsLayer2 = new ol.layer.Tile({
         name: "浜岀淮鍦板浘",
         id: "cva_c",
         source: wmtsSource2,
@@ -249,10 +252,10 @@
       ////璺綉
       layers.push(wmtsLayer1);
 
-      const map = new Map({
+      const map = new ol.Map({
         layers: layers,
         target: "openlayerContainer",
-        view: new View({
+        view: new ol.View({
           center: [116.505348, 39.795592],
           projection: "EPSG:4326",
           zoom: 12,
@@ -261,6 +264,31 @@
 
       window.map = map;
       setClick(true)
+      // var url =
+      //   "https://skyzt.bda.gov.cn/gisserver/tmsserver/chengshiguihua_dikuaibianhao_tms/";
+
+      // var tmslayer = new ol.layer.Tile({
+      //   source: new ol.source.XYZ({
+      //     projection: projection,
+      //     tileGrid: ol.tilegrid.createXYZ({
+      //       extent: [50.731, -90, 180, 70.0478],
+      //     }),
+      //     tileUrlFunction: function (tileCoord, pixelRatio, proj) {
+      //       // return url + (tileCoord[0] - 1) + '/' + tileCoord[1] + '/' + (Math.pow(2, tileCoord[0] - 1) + tileCoord[2]) + '.jpeg';
+      //       return (
+      //         url +
+      //         (tileCoord[0] - 1) +
+      //         "/" +
+      //         tileCoord[1] +
+      //         "/" +
+      //         (Math.pow(2, tileCoord[0] - 1) + tileCoord[2]) +
+      //         ".jpeg"
+      //       );
+      //     },
+      //   }),
+      // });
+      // window.map.addLayer(tmslayer);
+
       window.layerOpen = function (name, options) {
         layuiLayer.close(SmartEarthPopupData.layerProp);
 
@@ -391,7 +419,7 @@
   width: 100%;
   height: 100%;
   background: black;
-  position: absolute !important;
+  /* position: absolute !important; */
   z-index: 0;
 }
 
@@ -429,6 +457,7 @@
 }
 
 #ponitPanel {
+  /* display: none; */
   width: 80vw;
   background-repeat: no-repeat;
   background-size: 100% 100%;
@@ -437,13 +466,55 @@
   color: #fff;
   font-family: SourceHanSansSC-R;
   padding: 10px 5px 10px 5px;
-  box-sizing: border-box;
   font-size: 16px;
   pointer-events: all;
-  position: absolute;
-  bottom: 12px;
-  left: -50px;
+}
+
+.title {
+  width: 100%;
+  text-align: center;
+  font-size: 20px;
+  font-weight: 700;
+  letter-spacing: 4px;
+  padding-left: 26px;
 }
 
 
+#ponitPanel-close {
+  pointer-events: all;
+  width: 28px;
+  height: 28px;
+  background-repeat: no-repeat;
+  background-size: 100% 100%;
+  background-image: url("./poplayer/img/close.png");
+  margin-top: 8px;
+  margin-right: 5px;
+  float: right;
+  cursor: pointer;
+}
+
+#ponitPanel-content {
+  width: 100%;
+  margin: auto;
+}
+
+.ponitPanel-item {
+  width: 90%;
+  overflow: hidden;
+  margin-bottom: 7px;
+  margin-left: 25px;
+  margin-right: 20px;
+  word-break: break-all;
+}
+
+.ponitPanel-name {
+  /* min-width: 100px; */
+  float: left;
+}
+
+.ponitPanel-value {
+  max-width: 400px;
+  float: left;
+  color: aqua;
+}
 </style>

--
Gitblit v1.9.3