| | |
| | | <!-- openlayer --> |
| | | <div id="openlayerContainer" @click="clicktoclose"></div> |
| | | |
| | | <div id="ponitPanel"> |
| | | <div class="title">点位详情</div> |
| | | <div class="content"> |
| | | |
| | | </div> |
| | | |
| | | </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" /> |
| | |
| | | <!-- 原左下菜单 --> |
| | | <!-- <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> |
| | | |
| | |
| | | </template> |
| | | <script> |
| | | import store from "@/utils/store2.js"; |
| | | import { setClick } from '@/utils/map2.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"; |
| | |
| | | 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 { |
| | | 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"; |
| | |
| | | "my-history": history, |
| | | "my-land-admin-info": landAdminInfo, |
| | | "my-slider": sliderAlpha, |
| | | "my-poplayer": poplayer |
| | | "my-poplayer": mainPoplayer, |
| | | }, |
| | | data() { |
| | | return { |
| | |
| | | state: store.history, |
| | | }; |
| | | }, |
| | | created() { }, |
| | | created() {}, |
| | | mounted() { |
| | | this.$nextTick(function () { |
| | | console.log("openlayer init"); |
| | | |
| | | ol.Map.prototype.getLayerByName = function (name) { |
| | | var layer; |
| | | this.getLayers().array_.forEach(function (lyr) { |
| | |
| | | |
| | | 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 projection = ol.proj.get(_proj); |
| | | let projectionExtent = projection.getExtent(); |
| | | let origin = projectionExtent ? ol.extent.getTopLeft(projectionExtent) : [-180, 90]; |
| | | let fromLonLat = ol.proj.getTransform("EPSG:4326", projection); |
| | | let origin = projectionExtent |
| | | ? ol.extent.getTopLeft(projectionExtent) |
| | | : [-180, 90]; |
| | | let fromLonLat = ol.proj.getTransform("EPSG:3857", projection); |
| | | let width = projectionExtent |
| | | ? ol.extent.getWidth(projectionExtent) |
| | | : ol.extent.getWidth(ol.extent.applyTransform([-180.0, -90.0, 180.0, 90.0], fromLonLat)); |
| | | : 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 ol.tilegrid.WMTS({ |
| | | let wmtsTileGrid = new ol.tilegrid.WMTS({ |
| | | origin: origin, |
| | | resolutions: resolutions, |
| | | matrixIds: matrixIds, |
| | |
| | | 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 ol.Map({ |
| | | layers: layers, |
| | | target: "openlayerContainer", |
| | | view: new ol.View({ |
| | | center: [116.505348, 39.795592], |
| | | projection: "EPSG:4326", |
| | | zoom: 12, |
| | | 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; |
| | | 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.mapapi = map; |
| | | window.layersArray = window.mapapi.getLayers(); |
| | | // 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); |
| | |
| | | }, |
| | | 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) { |
| | |
| | | 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); |
| | | }); |
| | |
| | | width: 100%; |
| | | height: 100%; |
| | | background: black; |
| | | position: absolute !important; |
| | | /* position: absolute !important; */ |
| | | z-index: 0; |
| | | } |
| | | |
| | |
| | | .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> |