| | |
| | | <img class="searchBtn" src="@/assets/closeinput1.png" /> |
| | | </div> --> |
| | | <!-- 右侧导航框 --> |
| | | <!-- <my-navigation-bar></my-navigation-bar> --> |
| | | <my-navigation-bar></my-navigation-bar> |
| | | <!-- 搜索框 --> |
| | | <!-- <my-sousuo v-if="!state.show" v-show="childrendata.ssval"></my-sousuo> --> |
| | | <my-sousuo v-if="!state.show" v-show="childrendata.ssval"></my-sousuo> |
| | | <!-- 右上快捷区域(工程树、空间分析) --> |
| | | <!-- <div class="right-top"> |
| | | <my-layertree :rightshowzy="childrendata"></my-layertree> |
| | |
| | | <!-- 原左下菜单 --> |
| | | <!-- <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> --> |
| | | <my-right-bottom :test="childrendata"></my-right-bottom> |
| | | |
| | | <!-- 各种面板 --> |
| | | <!-- 设置面板 --> |
| | | <!-- <my-setting-panel></my-setting-panel> --> |
| | | <my-setting-panel></my-setting-panel> |
| | | <!-- 位置面板 --> |
| | | <!-- <my-collection-panel></my-collection-panel> --> |
| | | <my-collection-panel></my-collection-panel> |
| | | <!-- 指北针面板 --> |
| | | <!-- <my-direction-panel></my-direction-panel> --> |
| | | <!-- 新增收藏面板 --> |
| | | <!-- <my-add-collection-panel></my-add-collection-panel> --> |
| | | <my-add-collection-panel></my-add-collection-panel> |
| | | <!-- 窨井、摄像头统计面板 --> |
| | | <!-- <my-statistics-panel></my-statistics-panel> --> |
| | | <my-statistics-panel></my-statistics-panel> |
| | | <!-- 窨井统计分析面板 --> |
| | | <!-- <my-manhole-panel></my-manhole-panel> --> |
| | | <my-manhole-panel></my-manhole-panel> |
| | | <!-- 摄像头统计分析面板 --> |
| | | <!-- <my-video-panel></my-video-panel> --> |
| | | <my-video-panel></my-video-panel> |
| | | <!-- 图层面板 --> |
| | | <!-- <my-layer-panel></my-layer-panel> --> |
| | | <my-layer-panel></my-layer-panel> |
| | | <!-- 漫游面板 --> |
| | | <!-- <my-roam-panel></my-roam-panel> --> |
| | | <my-roam-panel></my-roam-panel> |
| | | <!-- 图层树面板 --> |
| | | <!-- <my-layer-tree-panel></my-layer-tree-panel> --> |
| | | <my-layer-tree-panel></my-layer-tree-panel> |
| | | <!-- 土地管理弹窗 --> |
| | | <!-- <my-land-admin-info></my-land-admin-info> |
| | | <my-slider></my-slider> --> |
| | | <my-land-admin-info></my-land-admin-info> |
| | | <my-slider></my-slider> |
| | | </div> |
| | | </template> |
| | | <script> |
| | | import store from "@/utils/store.js"; |
| | | import store from "@/utils/store2.js"; |
| | | |
| | | import _GLOBAL from "@/assets/GLOBAL"; |
| | | import _GLOBAL from "@/assets/GLOBAL2"; |
| | | import { leftClick, loadLayer } from "@/utils/map.js"; |
| | | import leftBottom from "@/components/leftMenu/bottom.vue"; |
| | | import rightBottom from "@/components/rightMenu/bottom.vue"; |
| | | import sousuo from "@/components/leftMenu/sousuo.vue"; |
| | | import leftBottom from "@/components/leftMenu/bottom2.vue"; |
| | | import rightBottom from "@/components/rightMenu/bottom2.vue"; |
| | | import sousuo from "@/components/leftMenu/sousuo2.vue"; |
| | | import menu from "@/components/menu/menu.vue"; |
| | | import NavigationBar from "./rightNavigation/NavigationBar.vue"; |
| | | import layertree from "@/components/rightMenu/layerTree.vue"; |
| | | 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 directionPanel from "./sideMenu/directionMenu/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/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 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", |
| | |
| | | created() {}, |
| | | mounted() { |
| | | this.$nextTick(function () { |
| | | |
| | | console.log('openlayer init'); |
| | | console.log("openlayer init"); |
| | | |
| | | ol.Map.prototype.getLayerByName = function (name) { |
| | | var layer; |
| | | this.getLayers().array_.forEach(function (lyr) { |
| | | if (name == lyr.values_.name) { |
| | | layer = lyr; |
| | | } |
| | | }); |
| | | return layer; |
| | | }; |
| | | |
| | | const layers = []; |
| | | |
| | | const TDTKey = 'f234b950740b8c2e0d9959a51c169d21'; |
| | | const tiandituUrl = 'http://t0.tianditu.gov.cn'; |
| | | let options = {proj:'EPSG:4326',layer:'cia',matrixSets:"c"}; |
| | | const TDTKey = "f234b950740b8c2e0d9959a51c169d21"; |
| | | const tiandituUrl = "http://t0.tianditu.gov.cn"; |
| | | let options = { proj: "EPSG:4326", 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: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 = []; |
| | |
| | | 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, |
| | | }); |
| | | console.log('url:',`${tiandituUrl}/${_layer}_${_matrixSets}/wmts?tk=${_key}`); |
| | | let wmtsSource = new WMTS({ |
| | | console.log( |
| | | "url:", |
| | | `${tiandituUrl}/${_layer}_${_matrixSets}/wmts?tk=${_key}` |
| | | ); |
| | | let wmtsSource = new ol.source.WMTS({ |
| | | url: `${tiandituUrl}/${_layer}_${_matrixSets}/wmts?tk=${_key}`, |
| | | layer: _layer, |
| | | version: "1.0.0", |
| | |
| | | style: "default", |
| | | tileGrid: wmtsTileGrid, |
| | | }); |
| | | let wmtsLayer = new TileLayer({ |
| | | let wmtsLayer = new ol.layer.Tile({ |
| | | name: "影像地图", |
| | | id: _layer + "_" + _matrixSets, |
| | | source: wmtsSource, |
| | | }); |
| | | |
| | | let wmtsSource1 = new WMTS({ |
| | | url: `${tiandituUrl}/img_${_matrixSets}/wmts?tk=${_key}`, |
| | | layer: 'img', |
| | | let wmtsSource1 = new ol.source.WMTS({ |
| | | url: `${tiandituUrl}/cia_${_matrixSets}/wmts?tk=${_key}`, |
| | | layer: "cia", |
| | | version: "1.0.0", |
| | | matrixSet: _matrixSets, |
| | | format: "tiles", |
| | |
| | | style: "default", |
| | | tileGrid: wmtsTileGrid, |
| | | }); |
| | | let wmtsLayer1 = new TileLayer({ |
| | | id: _layer + "_" + _matrixSets, |
| | | let wmtsLayer1 = new ol.layer.Tile({ |
| | | name: "路网图层", |
| | | id: "cia_c", |
| | | source: wmtsSource1, |
| | | }); |
| | | layers.push(wmtsLayer1); |
| | | |
| | | let wmtsSource2 = new ol.source.WMTS({ |
| | | url: `${tiandituUrl}/vec_c/wmts?tk=${_key}`, |
| | | layer: "vec", |
| | | version: "1.0.0", |
| | | matrixSet: _matrixSets, |
| | | format: "tiles", |
| | | projection: projection, |
| | | requestEncoding: "KVP", |
| | | style: "default", |
| | | tileGrid: wmtsTileGrid, |
| | | }); |
| | | let wmtsLayer2 = new ol.layer.Tile({ |
| | | name: "二维地图", |
| | | id: "cva_c", |
| | | source: wmtsSource2, |
| | | }); |
| | | wmtsLayer2.setVisible(false); |
| | | ////卫星影像 |
| | | layers.push(wmtsLayer); |
| | | ////二维地图 |
| | | layers.push(wmtsLayer2); |
| | | ////路网 |
| | | layers.push(wmtsLayer1); |
| | | |
| | | |
| | | |
| | | const map = new Map({ |
| | | const map = new ol.Map({ |
| | | layers: layers, |
| | | target: "openlayerContainer", |
| | | view: new View({ |
| | | center: [-6655.5402445057125, 6709968.258934638], |
| | | view: new ol.View({ |
| | | center: [116.505348, 39.795592], |
| | | projection: "EPSG:4326", |
| | | zoom: 12, |
| | | }), |
| | | }); |
| | | |
| | | window.map = map; |
| | | |
| | | // 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); |