百度地图获取当前省市区,市、区返回的可能为空

2023-04-16  本文已影响0人  轩轩小王子
由于后台的接口里面,省、市、区字段是必填的,而刚开始并没有意识到百度地图返回的当前位置的市、区可能存在为空的情况,测试环境也没测试此种场景,导致线上问题。所以此处记录一下,恐别的同事踩坑。
// 获取省市区及详细地址
detailAddress(){
    let that=this;
    let gc = new BMap.Geocoder();
    gc.getLocation(that.mapPoint, function(rs){
        that.detailedAddress = rs.address;
        that.addressComponents = rs.addressComponents;
    })
}
对此场景前端的一些兼容处理。先判断市有没有,没有toast提示。如果区没有,就用市的数据
if (!this.addressComponents.city) {
     uni.showToast({
                title: '请输入市',
                icon: 'none',
                duration: 3000
                });
                return;
}
const params = {
        province: this.addressComponents.province,
        city: this.addressComponents.city,
        area: this.addressComponents.district?this.addressComponents.district:this.addressComponents.city
}
上一篇 下一篇

猜你喜欢

热点阅读