From c278e89469ce8954e82ec4b4e721957c251eab99 Mon Sep 17 00:00:00 2001 From: SurprisePlus <845948745@qq.com> Date: 星期四, 12 十月 2023 11:20:20 +0800 Subject: [PATCH] 代码更新 --- src/assets/js/rpc.js | 101 +++++++++++++++++++++++++++++++++++--------------- 1 files changed, 70 insertions(+), 31 deletions(-) diff --git a/src/assets/js/rpc.js b/src/assets/js/rpc.js index 939495f..5818f96 100644 --- a/src/assets/js/rpc.js +++ b/src/assets/js/rpc.js @@ -27,7 +27,21 @@ objArr: [], //鍏抽敭瀛楁煡璇� 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; @@ -72,7 +86,19 @@ this.objArr = []; for (var i = 0; i < length; i++) { var world = keyWorld[i].word; - console.log("world", world); + if(world.indexOf('濂旈┌')>-1){ + world ='濂旈┌' + } 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 +126,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 +209,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 +230,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) { @@ -538,7 +577,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 +587,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: 4000 }, duration: 3 }); -- Gitblit v1.9.3