From 8cb1cdbee874842af44683dea8b0f0ff8087d0ea Mon Sep 17 00:00:00 2001 From: lixuliang <lixuliang_hd@126.com> Date: 星期四, 12 十月 2023 21:54:36 +0800 Subject: [PATCH] 更新 --- src/assets/js/rpc.js | 265 ++++++++++++++++++++++++++++++++-------------------- 1 files changed, 161 insertions(+), 104 deletions(-) diff --git a/src/assets/js/rpc.js b/src/assets/js/rpc.js index 5708571..337ca94 100644 --- a/src/assets/js/rpc.js +++ b/src/assets/js/rpc.js @@ -26,23 +26,30 @@ pointerFly: null, //瀹氱偣婕父 isShow: false, objArr: [], - pointrange:null, + pointrange: null, //鍏抽敭瀛楁煡璇� getFuzzyQuery(res) { - 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; + 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 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; @@ -88,98 +95,147 @@ this.pointrange = 2000; for (var i = 0; i < length; i++) { var world = keyWorld[i].word; - 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 ='鍗氬ぇ澶у帵' - } + 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 if (world.indexOf('鐢熺墿鍖昏嵂') > -1) { + world = '鐢熺墿鍖昏嵂' + } else if (world.indexOf('鏈哄櫒浜�') > -1) { + world = '鏈哄櫒浜�' + } else if (world.indexOf('姹借溅') > -1) { + world = '姹借溅' + } this.setFuzzyQueryData(world, i, length - 1); } } }, async setFuzzyQueryData(res, index, length) { - Promise.all([ - ent_selectByName(res), //浼佷笟 - liushisijiayuanqudizhibianmafuwu(res), //鍥尯 - findAddressCandidates(res) ,//鍦板潡, - - ]).then(result => { - var that = this; - store.queryLayer.data = []; - //浼佷笟 - var EntArr = result[0].result.filter(item => { - return item.entName.includes(res); - }); - EntArr.forEach(val => { - let itemObj = { - type: "浼佷笟", - name: val.entName, - address: val.address, - lon: val.x, - lat: val.y - }; - that.objArr.push(itemObj); - }); - //鍥尯 - var YQArr = result[1].features.filter(item => { - return item.properties.YQmingchen.includes(res); - }); + if (res == "淇℃伅鎶�鏈�" || res == "鐢熺墿鍖昏嵂" || res == "鏈哄櫒浜�" || res == "姹借溅") { + shengwuSearch(res).then(result => { + var that = this; + result.features.forEach(val => { + let itemObj = { + type: "鍥尯", + name: val.properties.YQmingchen, + address: val.properties.YQdizhi, + lon: val.properties.longtitude, + lat: val.properties.latitude, + geom: val.geometry.coordinates[0].flat() - YQArr.forEach(val => { - let itemObj = { - type: "鍥尯", - 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); - }); - //鍦板潡 - var LandArr = result[2].candidates.filter((item) => { - return item.attributes.QYMC.includes(res); - }) - // 缁撴灉鏍规嵁QYMC浠庣煭鍒伴暱鎺掑簭 - LandArr.sort((a, b) => (b.attributes.QYMC.length === a.attributes.QYMC.length ? 0 : a.attributes.QYMC.length > b.attributes.QYMC.length ? 1 : -1)) - LandArr.forEach((val) => { - let itemObj = { - type: "鍦板潡", - name: val.attributes.QYMC, - area: val.attributes.area, - code: val.attributes["鍦板潡缂�"], - lon: val.location.x, - lat: val.location.y, - }; - that.objArr.push(itemObj); - }); - - if (index == length) { - if (that.objArr.length <= 0) { - - vueEvents.$emit("queryData", true); - return; - } - var num = that.objArr.length; - for (var i = 0; i < num; i++) { - if (i < 6) { - that.dataQuery.push(that.objArr[i]); + }; + that.objArr.push(itemObj); + }); + if (index == length) { + if (that.objArr.length <= 0) { + vueEvents.$emit("queryData", true); + return; } + var num = that.objArr.length; + for (var i = 0; i < num; i++) { + if (i < 6) { + that.dataQuery.push(that.objArr[i]); + } + } + store.queryLayer.data = that.dataQuery; + that.setClearAllMsg(); + setTimeout(() => { + vueEvents.$emit("queryData", true); + that.setLocation(that.dataQuery[0]); + }, 1000); } - store.queryLayer.data = that.dataQuery; - that.setClearAllMsg(); - setTimeout(() => { - vueEvents.$emit("queryData", true); - that.setLocation(that.dataQuery[0]); - }, 1000); - } - }); + }) + } else { + Promise.all([ + ent_selectByName(res), //浼佷笟 + liushisijiayuanqudizhibianmafuwu(res), //鍥尯 + findAddressCandidates(res),//鍦板潡, + ]).then(result => { + var that = this; + store.queryLayer.data = []; + //浼佷笟 + var EntArr = result[0].result.filter(item => { + return item.entName.includes(res); + }); + EntArr.forEach(val => { + let itemObj = { + type: "浼佷笟", + name: val.entName, + address: val.address, + lon: val.x, + lat: val.y + }; + that.objArr.push(itemObj); + }); + //鍥尯 + var YQArr = result[1].features.filter(item => { + return item.properties.YQmingchen.includes(res); + }); + + YQArr.forEach(val => { + let itemObj = { + type: "鍥尯", + name: val.properties.YQmingchen, + address: val.properties.YQdizhi, + lon: val.properties.longtitude, + lat: val.properties.latitude, + geom: val.geometry.coordinates[0].flat() + // lon: val.geometry.coordinates[0], + // lat: val.geometry.coordinates[1], + // geom: val.properties.Coor1 + val.properties.Coor2 + + }; + that.objArr.push(itemObj); + }); + //鍦板潡 + var LandArr = result[2].candidates.filter((item) => { + return item.attributes.QYMC.includes(res); + }) + // 缁撴灉鏍规嵁QYMC浠庣煭鍒伴暱鎺掑簭 + LandArr.sort((a, b) => (b.attributes.QYMC.length === a.attributes.QYMC.length ? 0 : a.attributes.QYMC.length > b.attributes.QYMC.length ? 1 : -1)) + LandArr.forEach((val) => { + let itemObj = { + type: "鍦板潡", + name: val.attributes.QYMC, + area: val.attributes.area, + code: val.attributes["鍦板潡缂�"], + lon: val.location.x, + lat: val.location.y, + }; + that.objArr.push(itemObj); + }); + + if (index == length) { + if (that.objArr.length <= 0) { + + vueEvents.$emit("queryData", true); + return; + } + var num = that.objArr.length; + for (var i = 0; i < num; i++) { + if (i < 6) { + that.dataQuery.push(that.objArr[i]); + } + } + store.queryLayer.data = that.dataQuery; + that.setClearAllMsg(); + setTimeout(() => { + vueEvents.$emit("queryData", true); + that.setLocation(that.dataQuery[0]); + }, 1000); + } + }); + } + + + }, getFuzzyQueryData(res, index, length, flag) { @@ -207,16 +263,17 @@ }, // 鏄剧ず鍦板潡鑼冨洿 getLandmass(res) { - let that = this; if (res.type == "鍥尯") { - var geom = res.geom.split(','); + this.setDrawPolyExtent(res.geom) - var coord = []; - for (var i in geom) { - coord.push(parseFloat(geom[i])) - } - this.setDrawPolyExtent(coord) + // var geom = res.geom.split(','); + + // 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 }; -- Gitblit v1.9.3