1、先上效果图
2、实现方法:
<el-input v-model="searchKey" clearable placeholder="请输入搜索地址" @keyup.enter.native="mapSearch">
<el-button slot="append" icon="el-icon-search" @click="mapSearch" />
</el-input>
methods:
init(){
const map = new BMapGL.Map('map')
...
this.map = map
}
mapSearch(){
var myGeo = new BMapGL.Geocoder();
myGeo.getPoint(this.searchKey, (point)=>{
if(point){
this.map.clearOverlays()
this.map.centerAndZoom(point, 12)
this.map.addOverlay(new BMapGL.Marker(point))
myGeo.getLocation(point, (rs) => {
console.log('当前位置详细信息---',rs)
})
}else{
this.$message({
type: 'error',
message: '您输入的地址没有解析到结果!请重新输入'
})
this.searchKey = ''
}
},this.searchKey)
}