From cbde2b4fb938ce62c204390544c52935906c8962 Mon Sep 17 00:00:00 2001 From: lixuliang <lixuliang_hd@126.com> Date: 星期二, 09 一月 2024 18:59:29 +0800 Subject: [PATCH] 11 --- src/assets/js/Layer/mapViewer.js | 34 +++++++++++++++++++++++++++++----- 1 files changed, 29 insertions(+), 5 deletions(-) diff --git a/src/assets/js/Layer/mapViewer.js b/src/assets/js/Layer/mapViewer.js index b5795dc..d743909 100644 --- a/src/assets/js/Layer/mapViewer.js +++ b/src/assets/js/Layer/mapViewer.js @@ -1,4 +1,5 @@ import store from "../../../store"; +import mapInfo from "./mapInfo"; import model from "./model"; const mapViewer = { leftClick: null, @@ -10,7 +11,9 @@ addLeftClick() { this.leftClick = new Cesium.ScreenSpaceEventHandler(window.Viewer.canvas); this.leftClick.setInputAction(function (event) { - let cartesian = window.Viewer.camera.pickEllipsoid(event.position); + let nPickFeature = Viewer.scene.pick(event.position); + let cartesian = window.Viewer.camera.pickEllipsoid(event.position); + let cartographic = Cesium.Cartographic.fromCartesian(cartesian); let lng = Cesium.Math.toDegrees(cartographic.longitude); // 缁忓害 let lat = Cesium.Math.toDegrees(cartographic.latitude); // 绾害 @@ -24,18 +27,39 @@ roll: 0, scale: 1, }; - - if(store.state.addModelFlag){ + store.state.coordinate = coordinate; + if (store.state.addModelFlag) { model.setModelCoord(coordinate); + } + if (store.state.isMeasureFlag) { + store.state.measureCoordObj = coordinate; + store.state.isShowMeasureCoord = true; + } + if (Cesium.defined(nPickFeature)) { + console.log(nPickFeature); + if (nPickFeature.id && nPickFeature.id.id == 'Rectangle') + return + if (nPickFeature.id && nPickFeature.id.properties) { + mapInfo.setGeoJsonInfo(nPickFeature.id.properties) + } else if (nPickFeature && nPickFeature.getProperty("name")) { + if (nPickFeature.getProperty("name") == "DLJQT0007") { + store.state.isShowVideo = true; + } + } + } + if (store.state.isQueryFalag) { + + store.state.isQyeryCoord = coordinate; + } + }, Cesium.ScreenSpaceEventType.LEFT_CLICK) }, addRightClick() { this.rightClick = new Cesium.ScreenSpaceEventHandler(window.Viewer.canvas); this.rightClick.setInputAction(function (event) { let pickedObject = window.Viewer.scene.pick(event.position); - - console.log(pickedObject) + store.state.isMeasureFlag = false; }, Cesium.ScreenSpaceEventType.RIGHT_CLICK) }, } -- Gitblit v1.9.3