diff --git a/src/assets/global_images/point1.png b/src/assets/global_images/point1.png new file mode 100644 index 0000000..28a9723 --- /dev/null +++ b/src/assets/global_images/point1.png Binary files differ diff --git a/src/assets/global_images/point1.png b/src/assets/global_images/point1.png new file mode 100644 index 0000000..28a9723 --- /dev/null +++ b/src/assets/global_images/point1.png Binary files differ diff --git a/src/assets/global_images/point2.png b/src/assets/global_images/point2.png new file mode 100644 index 0000000..f295fd1 --- /dev/null +++ b/src/assets/global_images/point2.png Binary files differ diff --git a/src/assets/global_images/point1.png b/src/assets/global_images/point1.png new file mode 100644 index 0000000..28a9723 --- /dev/null +++ b/src/assets/global_images/point1.png Binary files differ diff --git a/src/assets/global_images/point2.png b/src/assets/global_images/point2.png new file mode 100644 index 0000000..f295fd1 --- /dev/null +++ b/src/assets/global_images/point2.png Binary files differ diff --git a/src/assets/global_images/point3.png b/src/assets/global_images/point3.png new file mode 100644 index 0000000..2815e21 --- /dev/null +++ b/src/assets/global_images/point3.png Binary files differ diff --git a/src/assets/global_images/point1.png b/src/assets/global_images/point1.png new file mode 100644 index 0000000..28a9723 --- /dev/null +++ b/src/assets/global_images/point1.png Binary files differ diff --git a/src/assets/global_images/point2.png b/src/assets/global_images/point2.png new file mode 100644 index 0000000..f295fd1 --- /dev/null +++ b/src/assets/global_images/point2.png Binary files differ diff --git a/src/assets/global_images/point3.png b/src/assets/global_images/point3.png new file mode 100644 index 0000000..2815e21 --- /dev/null +++ b/src/assets/global_images/point3.png Binary files differ diff --git a/src/assets/global_images/point4.png b/src/assets/global_images/point4.png new file mode 100644 index 0000000..ddf5eac --- /dev/null +++ b/src/assets/global_images/point4.png Binary files differ diff --git a/src/assets/global_images/point1.png b/src/assets/global_images/point1.png new file mode 100644 index 0000000..28a9723 --- /dev/null +++ b/src/assets/global_images/point1.png Binary files differ diff --git a/src/assets/global_images/point2.png b/src/assets/global_images/point2.png new file mode 100644 index 0000000..f295fd1 --- /dev/null +++ b/src/assets/global_images/point2.png Binary files differ diff --git a/src/assets/global_images/point3.png b/src/assets/global_images/point3.png new file mode 100644 index 0000000..2815e21 --- /dev/null +++ b/src/assets/global_images/point3.png Binary files differ diff --git a/src/assets/global_images/point4.png b/src/assets/global_images/point4.png new file mode 100644 index 0000000..ddf5eac --- /dev/null +++ b/src/assets/global_images/point4.png Binary files differ diff --git a/src/assets/global_images/point5.png b/src/assets/global_images/point5.png new file mode 100644 index 0000000..5ea0f1a --- /dev/null +++ b/src/assets/global_images/point5.png Binary files differ diff --git a/src/assets/global_images/point1.png b/src/assets/global_images/point1.png new file mode 100644 index 0000000..28a9723 --- /dev/null +++ b/src/assets/global_images/point1.png Binary files differ diff --git a/src/assets/global_images/point2.png b/src/assets/global_images/point2.png new file mode 100644 index 0000000..f295fd1 --- /dev/null +++ b/src/assets/global_images/point2.png Binary files differ diff --git a/src/assets/global_images/point3.png b/src/assets/global_images/point3.png new file mode 100644 index 0000000..2815e21 --- /dev/null +++ b/src/assets/global_images/point3.png Binary files differ diff --git a/src/assets/global_images/point4.png b/src/assets/global_images/point4.png new file mode 100644 index 0000000..ddf5eac --- /dev/null +++ b/src/assets/global_images/point4.png Binary files differ diff --git a/src/assets/global_images/point5.png b/src/assets/global_images/point5.png new file mode 100644 index 0000000..5ea0f1a --- /dev/null +++ b/src/assets/global_images/point5.png Binary files differ diff --git a/src/views/overview/mapSearch.vue b/src/views/overview/mapSearch.vue index 7f9da84..c339059 100644 --- a/src/views/overview/mapSearch.vue +++ b/src/views/overview/mapSearch.vue @@ -24,7 +24,7 @@
- +
共找到 {{ searchlist.length }} 条个查询结果 @@ -85,8 +85,10 @@ checkboxloading: false, list: [], // url列表 searchlist: [], + cansearch: true, layerlist: [], map: null, + bounds: null, showtable: true, isShow: false, partsOptions: ['网格', '商户', '视频监控点', '路灯杆和灯箱', '雨水井盖', '污水井盖', '公共厕所', '垃圾箱', '其他部件'], @@ -101,7 +103,8 @@ partsUrl: '', mapUrl: '', multipleSelection: [], // 多选选中项 - baselayer: [] + baselayer: [], + markerlist: [] } }, destroyed() { @@ -109,6 +112,9 @@ this.socket.close() }, mounted() { + var southWest = L.latLng(27.74, 116.06) + var northEast = L.latLng(27.77, 116.1) + this.bounds = L.latLngBounds(southWest, northEast) window.addEventListener('click', this.handleKeyup, true) this.init() }, @@ -137,18 +143,17 @@ this.searchlist = items }, search() { + this.cansearch = false var that = this this.searchlist = [] for (let i = 0; i < this.layerlist.length; i++) { - // var southWest = L.latLng(45.51, -122.70) - // var northEast = L.latLng(45.52, -122.64) - // var bounds = L.latLngBounds(southWest, northEast) var str = ['编码', '小类名称', '大类名称'] var query = esri.query({ url: this.baseUrl + this.partsUrl + '/' + this.layerlist[i].toString() }) if (this.keyword === '') { query.where('1=1') + query.within(this.bounds) query.run(function(error, featureCollection, response) { if (error) { console.log(error) @@ -161,12 +166,14 @@ that.offset = 1 that.showlist = that.searchlist.slice(0, 5) that.isShow = true + that.drawIcon() } console.log(featureCollection.features) }) } else { for (let j = 0; j < str.length; j++) { query.where(str[j] + " like '%" + this.keyword + "%'") + query.within(this.bounds) query.run(function(error, featureCollection, response) { if (error) { console.log(error) @@ -180,20 +187,89 @@ that.offset = 1 that.showlist = that.searchlist.slice(0, 5) that.isShow = true - for (let num = 0; num < that.showlist.length; num++) { - - } + that.drawIcon() } }) } } - // query.within(bounds) } }, + drawIcon() { + var that = this + for (var i = 0; i < that.markerlist.length; i++) { + that.map.removeLayer(that.markerlist[i]) + } + that.markerlist = [] + for (let num = 0; num < that.showlist.length; num++) { + var Icon + switch (num) { + case 0: + Icon = L.icon({ + iconUrl: require('../../assets/global_images/point1.png'), + iconSize: [25, 25] + }) + break + case 1: + Icon = L.icon({ + iconUrl: require('../../assets/global_images/point2.png'), + iconSize: [25, 25] + }) + break + case 2: + Icon = L.icon({ + iconUrl: require('../../assets/global_images/point3.png'), + iconSize: [25, 25] + }) + break + case 3: + Icon = L.icon({ + iconUrl: require('../../assets/global_images/point4.png'), + iconSize: [25, 25] + }) + break + case 4: + Icon = L.icon({ + iconUrl: require('../../assets/global_images/point5.png'), + iconSize: [25, 25] + }) + break + default: + break + } + var item = L.marker([that.showlist[num].geometry.coordinates[1], that.showlist[num].geometry.coordinates[0]], { + icon: Icon, + id: that.showlist[num].properties + }).addTo(that.map) + that.markerlist.push(item) + item.on('click', function(e) { + console.log(e) + if (e.target.dragging._marker._popup) { + e.target.dragging._marker.unbindPopup() + } + var str = '
' + + '
' + + '
' + e.target.options.id.小类名称 + '
' + + '
大类:' + e.target.options.id.大类名称 + '
' + + '
小类:' + e.target.options.id.小类名称 + '
' + + '
部件编码:' + e.target.options.id.编码 + '
' + + '
权属单位:' + e.target.options.id.权属单位 + '
' + + '
详细地址:' + e.target.options.id.详细地址 + '
' + + '
' + var popup = L.popup().setContent(str) + e.target.dragging._marker.bindPopup(popup).openPopup() + e.target.dragging._marker.openPopup() + }) + } + this.cansearch = true + }, drawDelete() { if (this.drawLayer) { this.drawLayer.layer.remove() } + var southWest = L.latLng(27.74, 116.06) + var northEast = L.latLng(27.77, 116.1) + this.bounds = L.latLngBounds(southWest, northEast) + this.search() }, drawSquare() { if (this.drawLayer) { @@ -366,7 +442,7 @@ } var layer = esri.featureLayer(item).addTo(map) layer.on('click', function(e) { - // console.log(e.layer.feature.properties) + // console.log(e) var str = '
' + '
' + '
' + e.layer.feature.properties.小类名称 + '
' + @@ -382,12 +458,18 @@ }) this.parts.push(layer) } + this.map.on('pm:create', e => { + // console.log(e) + this.bounds = e.layer._bounds + this.search() + }) this.map.setZoom(15) }, handleCurrentChange(val) { this.offset = val var num = 5 * val >= this.searchlist.length ? this.searchlist.length : 5 * val this.showlist = this.searchlist.slice(5 * (val - 1), num) + this.drawIcon() } } } @@ -411,7 +493,7 @@ } .search-total{ background-color: white; width: 300px;height: 35px; - margin-top: 10px;border: 1px solid #DCDFE6; + margin-top: 6px;border: 1px solid #DCDFE6; padding-left: 15px;color: #409eff; padding-top: 8px; font-size: 13px;