修改定位弹窗的poi搜索优化

This commit is contained in:
aixianling
2024-08-23 11:18:18 +08:00
parent 47e31b127d
commit 891757c7eb
2 changed files with 12 additions and 26 deletions

View File

@@ -39,7 +39,6 @@ export default {
map: null,
AMap: null,
selected: {},
geo: null
}
},
watch: {
@@ -63,33 +62,19 @@ export default {
this.selected = {location: res.lnglat}
this.poi?.searchNearBy('', res.lnglat, 100)
});
if (this.latlng) {
let marker = new AMap.Marker({
position: [this.latlng.lng, this.latlng.lat]
})
this.map.add(marker)
}
this.poi = new AMap.PlaceSearch().on('complete', ({poiList}) => {
this.map.clearMap()
if (poiList?.length > 0) {
poiList?.pois?.map(e => {
let marker = new AMap.Marker({
position: e.location,
}).on('click', () => this.selected = e)
this.map.add(marker)
})
} else {
let marker = new AMap.Marker({
position: this.selected.location,
})
this.map.add(marker)
}
this.poi = new AMap.PlaceSearch({map: this.map}).on('markerClick', ({data}) => {
const {name, location} = data
this.selected = {location, name}
})
this.geo = new AMap.Geolocation({
if (this.latlng) {
this.map.add(new AMap.Marker({
position: [this.latlng.lng, this.latlng.lat]
}))
}
this.map.addControl(new AMap.Geolocation({
enableHighAccuracy: true,//是否使用高精度定位
zoomToAccuracy: true//定位成功后是否自动调整地图视野到定位点
})
this.map.addControl(this.geo)
}))
})
},
handleSearch(v) {
@@ -114,7 +99,7 @@ export default {
<style lang="scss" scoped>
.AiLocateDialog {
:deep( .el-dialog__body ){
:deep( .el-dialog__body ) {
padding: 0;
height: 480px;
position: relative;