From 952e8cebfd1ed557389abf559fe696840b8f42c7 Mon Sep 17 00:00:00 2001
From: surprise <15810472099@163.com>
Date: 星期四, 12 十月 2023 16:44:09 +0800
Subject: [PATCH] 代码更新

---
 src/assets/js/rpc.js |  107 +++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 75 insertions(+), 32 deletions(-)

diff --git a/src/assets/js/rpc.js b/src/assets/js/rpc.js
index 939495f..3a24317 100644
--- a/src/assets/js/rpc.js
+++ b/src/assets/js/rpc.js
@@ -25,9 +25,25 @@
     pointerFly: null, //瀹氱偣婕父
     isShow: false,
     objArr: [],
+    pointrange:null,
+
     //鍏抽敭瀛楁煡璇�
     getFuzzyQuery(res) {
-        store.queryLayer.val = res.message;
+        if(res.message.indexOf('濂旈┌')>-1){
+            store.queryLayer.val ='濂旈┌鍏徃'
+        } else if(res.message.indexOf('姘告槍')>-1){
+            store.queryLayer.val ='姘告槍宸ヤ笟鍥�'
+        }else if(res.message.indexOf('浜笢')>-1){
+            store.queryLayer.val ='浜笢'
+        }else if(res.message.indexOf('灏忕背')>-1){
+            store.queryLayer.val ='灏忕背'
+        }else if(res.message.indexOf('鍗氬ぇ')>-1){
+            store.queryLayer.val ='鍗氬ぇ澶у帵'
+        }else{
+          
+            //  store.queryLayer.val = res.message;
+        }
+     
         this.setClearAllMsg();
         if (!res.baidu_keys) return;
         var flag = true;
@@ -70,9 +86,23 @@
 
             this.dataQuery = [];
             this.objArr = [];
+            this.pointrange = 2000;
             for (var i = 0; i < length; i++) {
                 var world = keyWorld[i].word;
-                console.log("world", world);
+               if(world.indexOf('濂旈┌')>-1){
+                   world ='濂旈┌';
+                   this.pointrange = 12000
+               } else if(world.indexOf('姘告槍')>-1){
+                world ='姘告槍'
+               }else if(world.indexOf('浜笢')>-1){
+                world ='浜笢'
+               }else if(world.indexOf('灏忕背')>-1){
+                world ='灏忕背'
+               }else if(world.indexOf('鍗氬ぇ')>-1){
+                world ='鍗氬ぇ'
+               }else{
+               continue;
+               }
                 this.setFuzzyQueryData(world, i, length - 1);
             }
         }
@@ -100,16 +130,19 @@
                 that.objArr.push(itemObj);
             });
             //鍥尯
-            var YQArr = result[1].candidates.filter(item => {
-                return item.attributes.YQmingchen.includes(res);
+            var YQArr = result[1].features.filter(item => {
+                return item.properties.YQmingchen.includes(res);
             });
+
             YQArr.forEach(val => {
                 let itemObj = {
                     type: "鍥尯",
-                    name: val.attributes.YQmingchen,
-                    address: val.attributes.YQdizhi,
-                    lon: val.location.x,
-                    lat: val.location.y
+                    name: val.properties.YQmingchen,
+                    address: val.properties.YQdizhi,
+                    lon: val.geometry.coordinates[0],
+                    lat: val.geometry.coordinates[1],
+                    geom: val.properties.Coor1 + val.properties.Coor2
+
                 };
                 that.objArr.push(itemObj);
             });
@@ -180,9 +213,14 @@
 
         let that = this;
         if (res.type == "鍥尯") {
+            var geom = res.geom.split(',');
 
-        } else if (res.type == "鍦板潡") {
-
+            var coord = [];
+            for (var i in geom) {
+                coord.push(parseFloat(geom[i]))
+            }
+            this.setDrawPolyExtent(coord)
+        } else if (res.type == "鍦板潡" || res.type == "浼佷笟") {
             getDiKuanFanWei(res.lon, res.lat).then(response => {
                 let center = { lon: 0, lat: 0 };
                 let polygon = that.read(response.geometry);
@@ -196,27 +234,32 @@
                         geometry.push(parseFloat(point[0]), parseFloat(point[1]))
 
                     }
-                    that.setLacationLineClear()
-                    var position = Cesium.Cartesian3.fromDegreesArray(geometry)
-
-                    that.lacationLine = Viewer.entities.add({
-                        name: "绔嬩綋澧欐晥鏋�",
-                        wall: {
-                            positions: position,
-
-
-                            material: new Cesium.DynamicWallMaterialProperty({
-                                color: Cesium.Color.RED,
-                                duration: 4000
-                            }),
-                            // 璁剧疆楂樺害
-                            maximumHeights: Array(position.length).fill(80),
-                            minimumHeights: Array(position.length).fill(10),
-                        }
-                    })
+                    that.setDrawPolyExtent(geometry)
                 }
             });
         }
+    },
+    setDrawPolyExtent(res) {
+        this.setLacationLineClear()
+        var position = Cesium.Cartesian3.fromDegreesArray(res)
+
+        this.lacationLine = Viewer.entities.add({
+            name: "绔嬩綋澧欐晥鏋�",
+            wall: {
+                positions: position,
+
+
+                material: new Cesium.DynamicWallMaterialProperty({
+                    // color: new Cesium.Color.fromCssColorString('#73DB0E'),
+                    color: new Cesium.Color.fromCssColorString('#1f1fa8'),
+                    duration: 4000,
+
+                }),
+                // 璁剧疆楂樺害
+                maximumHeights: Array(position.length).fill(80),
+                minimumHeights: Array(position.length).fill(10),
+            }
+        })
     },
 
     read(wkt) {
@@ -455,7 +498,7 @@
             data.showLine = false;
             data.mode = 1;
             data.pitch = -10;
-            data.height = 75;
+            data.height = 500;
             data.speed = 25;
 
             that.LineRoaming = sgworld.Creator.createDynamicObject(
@@ -538,7 +581,7 @@
         );
         this.position = window.Viewer.entities.add({
             name: "FLYToMap",
-            position: Cesium.Cartesian3.fromDegrees(res.lon, res.lat, 200),
+            position: Cesium.Cartesian3.fromDegrees(res.lon, res.lat, 0),
             point: {
                 pixelSize: 1,
                 color: Cesium.Color.WHITE.withAlpha(0),
@@ -548,9 +591,9 @@
         });
         window.Viewer.flyTo(this.position, {
             offset: {
-                heading: Cesium.Math.toRadians(0.0),
+                heading: Cesium.Math.toRadians(-200),
                 pitch: Cesium.Math.toRadians(-45),
-                range: 700
+                range: this.pointrange
             },
             duration: 3
         });

--
Gitblit v1.9.3