| | |
| | | </div> |
| | | </div> |
| | | <div v-else> |
| | | <div class="ssjg" v-show="ssjgxs">请输入关键词搜索地图</div> |
| | | <div class="ssjg" v-show="ssjgxs">未搜索到结果</div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | background: rgba(218, 218, 218, 0.1); |
| | | } |
| | | </style> |
| | | |
| | | |
| | | <script> |
| | | let timers = null; |
| | | |
| | | import axios from "axios"; |
| | | import store from "@/utils/store.js"; |
| | | import common from "@/components/common"; |
| | | |
| | | window.flyPoint = null; |
| | | window.flyLine = null; |
| | | let Allresults = []; |
| | |
| | | rectangle.maxy > 31.182515322 && (rectangle.maxy = 31.182515322); |
| | | return `RECT(${rectangle.minx} ${rectangle.miny},${rectangle.maxx} ${rectangle.maxy})`; |
| | | }, |
| | | getGdPoi() { |
| | | axios |
| | | .get(common.poiserve, { |
| | | params: { |
| | | request: "GdPoi", |
| | | keywords: this.poi_text, |
| | | output: "json", |
| | | coord: "cgcs2000", |
| | | offset: 20, |
| | | page: 1, |
| | | }, |
| | | }) |
| | | .then((res) => { |
| | | // 高德 |
| | | if (res.data.status == 1) { |
| | | res.data.pois && |
| | | res.data.pois |
| | | .filter((item) => { |
| | | var reg = new RegExp("[\\u4E00-\\u9FFF]+", "g"); |
| | | return ( |
| | | item.pname.includes("北京") && |
| | | item.name.includes(this.poi_text) && |
| | | !reg.test(item.typecode) |
| | | ); |
| | | }) |
| | | .forEach((val) => { |
| | | let poiarr = val.location.split(","); |
| | | let poi = { |
| | | lon: parseFloat(poiarr[0]), |
| | | lat: parseFloat(poiarr[1]), |
| | | }; |
| | | let obj = { |
| | | adcode: val.adcode, |
| | | address: val.address, |
| | | adname: val.area, |
| | | citycode: val.citycode, |
| | | cityname: val.cityname, |
| | | id: val.uid, |
| | | lat: poi.lat, |
| | | lng: poi.lon, |
| | | name: val.name, |
| | | pcode: val.pcode, |
| | | pname: val.province, |
| | | type: val.type, |
| | | typecode: val.typecode, |
| | | }; |
| | | Allresults.push(obj); |
| | | }); |
| | | } |
| | | this.total = Allresults.length; |
| | | this.poiList = Allresults; |
| | | this.showList = true; |
| | | }); |
| | | }, |
| | | getData() { |
| | | axios |
| | | .post(common.poiserve2, { |
| | | adcode: "110115", |
| | | address: { |
| | | name: "", |
| | | type: "", |
| | | }, |
| | | adname: "大兴区", |
| | | cityname: "北京市", |
| | | name: { |
| | | name: this.poi_text, |
| | | type: "", |
| | | }, |
| | | page: 1, |
| | | perPageCount: 20, |
| | | pcode: "110000", |
| | | pname: "", |
| | | resType: "", |
| | | }) |
| | | .then((res) => { |
| | | if (res.status == 200) { |
| | | res.data.data.res && |
| | | res.data.data.res |
| | | .filter((item) => { |
| | | // 判断地块是否有汉字 |
| | | var reg = new RegExp("[\\u4E00-\\u9FFF]+", "g"); |
| | | return ( |
| | | item.name.includes(this.poi_text) && reg.test(item.typecode) |
| | | ); |
| | | }) |
| | | .forEach((val) => { |
| | | Allresults.push(val); |
| | | }); |
| | | } |
| | | this.total = Allresults.length; |
| | | this.poiList = Allresults; |
| | | this.showList = true; |
| | | }); |
| | | }, |
| | | search() { |
| | | if (this.poi_text === "") { |
| | | this.poiList = []; |
| | |
| | | this.poiList = []; |
| | | switch (this.select) { |
| | | case "全部": |
| | | axios |
| | | .all([ |
| | | // 115接口(可查地块名) |
| | | axios.post(common.poiserve2, { |
| | | adcode: "110115", |
| | | address: { |
| | | name: "", |
| | | type: "", |
| | | }, |
| | | adname: "大兴区", |
| | | cityname: "北京市", |
| | | name: { |
| | | name: this.poi_text, |
| | | type: "", |
| | | }, |
| | | page: 1, |
| | | perPageCount: 20, |
| | | pcode: "110000", |
| | | pname: "", |
| | | resType: "", |
| | | }), |
| | | // // 市级平台(百度:会查到外地) |
| | | // axios.get(common.poiserve, { |
| | | // params: { |
| | | // request: "bdPoi", |
| | | // query: this.poi_text, |
| | | // output: "json", |
| | | // coord: "cgcs2000", |
| | | // page_num: 0, |
| | | // page_size: 20, |
| | | // }, |
| | | // }), |
| | | // 市级平台(高德) |
| | | axios.get(common.poiserve, { |
| | | params: { |
| | | request: "GdPoi", |
| | | keywords: this.poi_text, |
| | | output: "json", |
| | | coord: "cgcs2000", |
| | | offset: 20, |
| | | page: 1, |
| | | }, |
| | | }), |
| | | ]) |
| | | .then( |
| | | (data) => { |
| | | // this.total = data.data.pois.length; |
| | | // this.poiList = |
| | | // data.data && data.data.pois; |
| | | //115接口 |
| | | if (data[0].status == 200) { |
| | | data[0].data.data.res |
| | | .filter((item) => { |
| | | return item.name.includes(this.poi_text); |
| | | }) |
| | | .forEach((val) => { |
| | | Allresults.push(val); |
| | | }); |
| | | } |
| | | // 市级平台 |
| | | // // 百度 |
| | | // if (data[1].data.status == 0) { |
| | | // data[1].data.results.forEach((val) => { |
| | | // let obj = { |
| | | // address: val.address, |
| | | // adname: val.area, |
| | | // cityname: val.city, |
| | | // id: val.uid, |
| | | // lat: val.location.lat, |
| | | // lng: val.location.lng, |
| | | // name: val.name, |
| | | // pname: val.province, |
| | | // }; |
| | | // Allresults.push(obj); |
| | | // }); |
| | | // } |
| | | // 高德 |
| | | if (data[1].data.status == 1) { |
| | | data[1].data.pois.forEach((val) => { |
| | | let poiarr = val.location.split(","); |
| | | let poi = { |
| | | lon: parseFloat(poiarr[0]), |
| | | lat: parseFloat(poiarr[1]), |
| | | }; |
| | | let obj = { |
| | | address: val.address, |
| | | adname: val.area, |
| | | cityname: val.city, |
| | | id: val.uid, |
| | | lat: poi.lat, |
| | | lng: poi.lon, |
| | | name: val.name, |
| | | pname: val.province, |
| | | }; |
| | | Allresults.push(obj); |
| | | }); |
| | | } |
| | | this.total = Allresults.length; |
| | | this.poiList = Allresults; |
| | | this.showList = true; |
| | | }, |
| | | (response) => { |
| | | console.log("error"); |
| | | } |
| | | ); |
| | | this.getGdPoi(); |
| | | this.getData(); |
| | | // axios |
| | | // .all([ |
| | | // // 115接口(可查地块名) |
| | | // axios.post(common.poiserve2, { |
| | | // adcode: "110115", |
| | | // address: { |
| | | // name: "", |
| | | // type: "", |
| | | // }, |
| | | // adname: "大兴区", |
| | | // cityname: "北京市", |
| | | // name: { |
| | | // name: this.poi_text, |
| | | // type: "", |
| | | // }, |
| | | // page: 1, |
| | | // perPageCount: 20, |
| | | // pcode: "110000", |
| | | // pname: "", |
| | | // resType: "", |
| | | // }), |
| | | // // // 市级平台(百度:会查到外地) |
| | | // // axios.get(common.poiserve, { |
| | | // // params: { |
| | | // // request: "bdPoi", |
| | | // // query: this.poi_text, |
| | | // // output: "json", |
| | | // // coord: "cgcs2000", |
| | | // // page_num: 0, |
| | | // // page_size: 20, |
| | | // // }, |
| | | // // }), |
| | | // // 市级平台(高德) |
| | | // axios.get(common.poiserve, { |
| | | // params: { |
| | | // request: "GdPoi", |
| | | // keywords: this.poi_text, |
| | | // output: "json", |
| | | // coord: "cgcs2000", |
| | | // offset: 20, |
| | | // page: 1, |
| | | // }, |
| | | // }), |
| | | // ]) |
| | | // .then( |
| | | // (data) => { |
| | | // // this.total = data.data.pois.length; |
| | | // // this.poiList = |
| | | // // data.data && data.data.pois; |
| | | // //115接口 |
| | | // if (data[0].status == 200) { |
| | | // data[0].data.data.res && |
| | | // data[0].data.data.res |
| | | // .filter((item) => { |
| | | // return item.name.includes(this.poi_text); |
| | | // }) |
| | | // .forEach((val) => { |
| | | // Allresults.push(val); |
| | | // }); |
| | | // } |
| | | // // 市级平台 |
| | | // // // 百度 |
| | | // // if (data[1].data.status == 0) { |
| | | // // data[1].data.results.forEach((val) => { |
| | | // // let obj = { |
| | | // // address: val.address, |
| | | // // adname: val.area, |
| | | // // cityname: val.city, |
| | | // // id: val.uid, |
| | | // // lat: val.location.lat, |
| | | // // lng: val.location.lng, |
| | | // // name: val.name, |
| | | // // pname: val.province, |
| | | // // }; |
| | | // // Allresults.push(obj); |
| | | // // }); |
| | | // // } |
| | | // // 高德 |
| | | |
| | | // console.log(data, "数据"); |
| | | // if (data[0].data.status == 1) { |
| | | // data[0].data.pois && |
| | | // data[0].data.pois |
| | | // .filter((item) => { |
| | | // return ( |
| | | // item.pname.includes("北京") && |
| | | // item.name.includes(this.poi_text) |
| | | // ); |
| | | // }) |
| | | // .forEach((val) => { |
| | | // let poiarr = val.location.split(","); |
| | | // let poi = { |
| | | // lon: parseFloat(poiarr[0]), |
| | | // lat: parseFloat(poiarr[1]), |
| | | // }; |
| | | // let obj = { |
| | | // adcode: val.adcode, |
| | | // address: val.address, |
| | | // adname: val.area, |
| | | // citycode: val.citycode, |
| | | // cityname: val.cityname, |
| | | // id: val.uid, |
| | | // lat: poi.lat, |
| | | // lng: poi.lon, |
| | | // name: val.name, |
| | | // pcode: val.pcode, |
| | | // pname: val.province, |
| | | // type: val.type, |
| | | // typecode: val.typecode, |
| | | // }; |
| | | // Allresults.push(obj); |
| | | // }); |
| | | // } |
| | | // this.total = Allresults.length; |
| | | // this.poiList = Allresults; |
| | | // this.showList = true; |
| | | // console.log(Allresults); |
| | | // }, |
| | | // (response) => { |
| | | // console.log("error"); |
| | | // } |
| | | // ); |
| | | break; |
| | | case "POI": |
| | | axios |
| | | .get(common.poiserve, { |
| | | params: { |
| | | request: "GdPoi", |
| | | keywords: this.poi_text, |
| | | output: "json", |
| | | coord: "cgcs2000", |
| | | offset: 20, |
| | | page: 1, |
| | | }, |
| | | }) |
| | | .then((res) => { |
| | | // 高德 |
| | | if (res.data.status == 1) { |
| | | res.data.pois.forEach((val) => { |
| | | let poiarr = val.location.split(","); |
| | | let poi = { |
| | | lon: parseFloat(poiarr[0]), |
| | | lat: parseFloat(poiarr[1]), |
| | | }; |
| | | let obj = { |
| | | address: val.address, |
| | | adname: val.area, |
| | | cityname: val.city, |
| | | id: val.uid, |
| | | lat: poi.lat, |
| | | lng: poi.lon, |
| | | name: val.name, |
| | | pname: val.province, |
| | | }; |
| | | Allresults.push(obj); |
| | | }); |
| | | } |
| | | this.total = Allresults.length; |
| | | this.poiList = Allresults; |
| | | this.showList = true; |
| | | }); |
| | | this.getGdPoi(); |
| | | break; |
| | | case "地块": |
| | | axios |
| | | .post(common.poiserve2, { |
| | | adcode: "110115", |
| | | address: { |
| | | name: "", |
| | | type: "", |
| | | }, |
| | | adname: "大兴区", |
| | | cityname: "北京市", |
| | | name: { |
| | | name: this.poi_text, |
| | | type: "", |
| | | }, |
| | | page: 1, |
| | | perPageCount: 20, |
| | | pcode: "110000", |
| | | pname: "", |
| | | resType: "", |
| | | }) |
| | | .then((res) => { |
| | | if (res.status == 200) { |
| | | res.data.data.res |
| | | .filter((item) => { |
| | | return item.name.includes(this.poi_text); |
| | | }) |
| | | .forEach((val) => { |
| | | Allresults.push(val); |
| | | }); |
| | | } |
| | | this.total = Allresults.length; |
| | | this.poiList = Allresults; |
| | | this.showList = true; |
| | | }); |
| | | this.getData(); |
| | | break; |
| | | } |
| | | } |
| | |
| | | billboard: { |
| | | verticalOrigin: Cesium.VerticalOrigin.BOTTOM, |
| | | scale: 1, |
| | | image: window.SmartEarthRootUrl + "/Workers/image/mark.png", |
| | | image: window.SmartEarthRootUrl + "/Workers/image/mark1.png", |
| | | heightReference: 1, |
| | | disableDepthTestDistance: Number.POSITIVE_INFINITY, |
| | | }, |