From 87e98d5b5efeb7a9cf6330ae03e6dd53699b7ef1 Mon Sep 17 00:00:00 2001 From: surprise <15810472099@163.com> Date: 星期一, 15 一月 2024 17:10:25 +0800 Subject: [PATCH] 代码更新 --- src/assets/js/Layer/model.js | 56 +++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 47 insertions(+), 9 deletions(-) diff --git a/src/assets/js/Layer/model.js b/src/assets/js/Layer/model.js index b1bd8c6..6f768c9 100644 --- a/src/assets/js/Layer/model.js +++ b/src/assets/js/Layer/model.js @@ -1,3 +1,4 @@ +import { updateUserPwd } from "../../../api/api"; import store from "../../../store"; import Bus from "@tools/Bus"; const model = { @@ -10,6 +11,10 @@ this.title = item; this.setModelMouseMove(); }, + changeBatchLayer(item, res) { + store.state.addModelFlag = res; + this.title = item; + }, deleteAll() { if (!this.modelLayer) return; for (var i = 0; i < this.modelLayer._primitives.length; i++) { @@ -20,9 +25,18 @@ }, setModelCoord(res) { store.state.addModelFlag = false; - this.setModelMouseMove(); + // this.setModelMouseMove(); if (res) { - var id = new Date().getTime(); + // 闀垮害涓�62鐨勬暟鐮佹暟缁� + var result = [] + var arr = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]; + for (var i = 0; i < 4; i++) { + var num = Math.floor(Math.random() * 62); + result.push(arr[num]); + } + result.join('') + var id = new Date().getTime() - Math.floor(Math.random() * 9000) + result; + var obj = { id: id, sourceType: 'GLB', @@ -32,7 +46,7 @@ name: this.title.name, longitude: res.longitude, latitude: res.latitude, - altitude: res.altitude, + altitude: 18.1, heading: res.heading, pitch: res.pitch, roll: res.roll, @@ -41,11 +55,10 @@ id: id, sourceType: 'GLB', } + } Bus.$emit("addOtherData", "瀵硅薄", obj); - } - }, setModelMouseMove() { if (store.state.addModelFlag) { @@ -70,12 +83,13 @@ this.getModelLayer(); var modelMatrix = this.getModelMatrix(res.style); var url = layerData.config.Model_URL + res.style.url; - + var model = this.modelLayer.add(Cesium.Model.fromGltf({ id: res.id, url: url, scale: res.scale, - minimumPixelSize: 64, + minimumPixelSize: 1, + maximumScale: 10, modelMatrix: modelMatrix })); @@ -164,7 +178,6 @@ var sm = Cesium.Matrix4.fromScale(new Cesium.Cartesian3(res.scale, res.scale, res.scale), new Cesium.Matrix4()); model.modelMatrix = Cesium.Matrix4.multiply(model.modelMatrix, sm, model.modelMatrix); }, - getModelMatrix(res) { var headingPitchRoll = new Cesium.HeadingPitchRoll(res.heading, res.pitch, res.roll); var position = Cesium.Cartesian3.fromDegrees(res.longitude, res.latitude, res.altitude); @@ -174,7 +187,6 @@ new Cesium.Matrix4()); return modelMatrix; }, - getModelLayer() { if (this.modelLayer == null) { this.modelLayer = new Cesium.PrimitiveCollection(); @@ -182,5 +194,31 @@ Viewer.scene.primitives.add(this.modelLayer); } }, + addImgUpLayer(res) { + var url = layerData.config.Model_URL + '/Data/img/mark1.png' + var citizensBankPark = viewer.entities.add({ + name: res.name, + id: res.id, + position: Cesium.Cartesian3.fromDegrees(res.x, res.y, res.z), + billboard: { //鍥炬爣 + image: url, + width: 32, + height: 44, + pixelOffset: new Cesium.Cartesian3(0, -40, 0), + }, + properties: res, + }); + + }, + delImgUpLayer(res) { + var entity = Viewer.entities._entities._array; + for (var i = 0; i < entity.length; i++) { + var model = entity[i] + if (model.id === res.id) { + Viewer.entities.remove(model) + } + } + + }, } export default model; \ No newline at end of file -- Gitblit v1.9.3