From 7a1966fcaf11102e608d248532eb60eafb878b2c Mon Sep 17 00:00:00 2001 From: 少年 <1392120328@qq.com> Date: 星期二, 27 二月 2024 15:16:52 +0800 Subject: [PATCH] youhua --- src/components/viewer2.vue | 187 +++++++++++++++++++++++++++++++--------------- 1 files changed, 125 insertions(+), 62 deletions(-) diff --git a/src/components/viewer2.vue b/src/components/viewer2.vue index 24b7784..f136701 100644 --- a/src/components/viewer2.vue +++ b/src/components/viewer2.vue @@ -3,20 +3,12 @@ <!-- openlayer --> <div id="openlayerContainer" @click="clicktoclose"></div> - <div id="ponitPanel"> - <div class="title">鐐逛綅璇︽儏</div> - <div class="content"> - - </div> - - </div> - <!-- 椤甸潰鏍囬 --> <div class="titleBg"> <img src="@/assets/img/title/title.png" /> </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" /> @@ -42,7 +34,7 @@ <!-- 浣嶇疆闈㈡澘 --> <my-collection-panel></my-collection-panel> <!-- 鎸囧寳閽堥潰鏉� --> - <!-- <my-direction-panel></my-direction-panel> --> + <my-direction-panel></my-direction-panel> <!-- 鏂板鏀惰棌闈㈡澘 --> <my-add-collection-panel></my-add-collection-panel> <!-- 绐ㄤ簳銆佹憚鍍忓ご缁熻闈㈡澘 --> @@ -65,9 +57,9 @@ </template> <script> import store from "@/utils/store2.js"; -import { setClick } from '@/utils/map2.js' +import { setClick, leftClick } 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"; @@ -84,19 +76,21 @@ 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 poplayer from "./poplayer/main.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 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", @@ -120,7 +114,7 @@ "my-history": history, "my-land-admin-info": landAdminInfo, "my-slider": sliderAlpha, - "my-poplayer": poplayer + "my-poplayer": mainPoplayer }, data() { return { @@ -148,7 +142,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 +162,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 +176,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 +185,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 +196,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 +213,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,31 +230,119 @@ style: "default", tileGrid: wmtsTileGrid, }); - let wmtsLayer2 = new TileLayer({ + let wmtsLayer2 = new ol.layer.Tile({ name: "浜岀淮鍦板浘", id: "cva_c", source: wmtsSource2, }); - wmtsLayer2.setVisible(false); + // wmtsLayer2.setVisible(false); ////鍗槦褰卞儚 layers.push(wmtsLayer); ////浜岀淮鍦板浘 layers.push(wmtsLayer2); ////璺綉 - layers.push(wmtsLayer1); + // 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, + minZoom: 8.5 }), }); - window.map = map; + window.mapapi = map; + + //鍔犺浇鑸媿褰卞儚 + window.ImageLayer = new ol.layer.Tile({ + id: 'C0698021', + visible: true, + source: new ol.source.XYZ({ + wrapX: true, + url: `${'https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer'}/tile/{z}/{y}/{x}`, + }), + projection: new ol.proj.get('EPSG:4326') + }); + window.mapapi.addLayer(window.ImageLayer); + + //鍔犺浇楂樺痉鏍囨敞 + window.annotation = new ol.layer.Tile({ + id: '69EB42A8', + visible: true, + source: new ol.source.XYZ({ + wrapX: true, + url: `https://webst02.is.autonavi.com/appmaptile?style=8&x={x}&y={y}&z={z}`, + }), + projection: new ol.proj.get('EPSG:4326') + }); + window.mapapi.addLayer(window.annotation); + + + window.hexin = new ol.layer.Tile({ + source: new ol.source.TileWMS({ + ratio: 3, + url: 'https://skyzt.bda.gov.cn/gisserver/wmsserver/YZ_BJ60',//鍥惧眰鍦板潃 + params: { + 'VERSION': '1.1.1', + 'SRS': 'EPSG:4326', + 'FORMAT': 'image/png', + 'TILED': true, + "LAYERS": '' + } + }) + }) + window.mapapi.addLayer(window.hexin) + + + //浜﹀簞鏂板煄瑙勫垝鑼冨洿 + window.yizhuang = new ol.layer.Tile({ + source: new ol.source.TileWMS({ + ratio: 3, + url: 'https://skyzt.bda.gov.cn/gisserver/wmsserver/YZ_BJ',//鍥惧眰鍦板潃 + params: { + 'VERSION': '1.1.1', + 'SRS': 'EPSG:4326', + 'FORMAT': 'image/png', + 'TILED': true, + "LAYERS": '' + } + }) + }) + window.mapapi.addLayer(window.yizhuang) + + + + setClick(true) + // leftClick() + // 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.mapapi.addLayer(tmslayer); + window.layerOpen = function (name, options) { layuiLayer.close(SmartEarthPopupData.layerProp); @@ -391,7 +473,7 @@ width: 100%; height: 100%; background: black; - position: absolute !important; + /* position: absolute !important; */ z-index: 0; } @@ -427,23 +509,4 @@ .colseBtn img { width: 30px; } - -#ponitPanel { - width: 80vw; - background-repeat: no-repeat; - background-size: 100% 100%; - background-image: url("./poplayer/img/bg.png"); - z-index: 999; - 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; -} - - </style> -- Gitblit v1.9.3