经纬度地址逆解析获取城市名以及城市code值
//腾讯逆解析获取code值
geoCode(e){
return new Promise((rel,rej) =>{
uni.request({//发送请求
url: 'https://apis.map.qq.com/ws/geocoder/v1/?key=腾讯地图key&location='+e.latitude+','+e.longitude,
method:'GET',
timeout:10000,
success: res=> {
uni.hideLoading()
if(res.statusCode == 200){
console.log('逆解析',res.data)
// let obj = res.data.result.address_component;
// obj.adcode = res.data.result.ad_info.adcode;
let ara;
//在偏僻地区有些字段会没有
if(res.data.result.address_reference.landmark_l2){
ara = res.data.result.address_reference.landmark_l2.title;
}else if(res.data.result.address_reference.street_number){
ara = res.data.result.address_reference.street_number.title;
}else{
ara = res.data.result.address_reference.town.title;
}
// let ara = res.data.result.address_reference.street_number.title;//街道地址
let obj = res.data.result.address_component;
obj.adcode = res.data.result.ad_info.adcode;
obj.street = ara;
rel(obj)
}else{
uni.showToast({
title:'地址解析失败',
icon:'none'
})
rej(res.errMsg)
}
},
fail: err => {//网络请求失败的回调
console.log('解析失败',err)
uni.hideLoading()
uni.showToast({
title:'地址解析失败',
icon:'none'
})
rej(err)
}
});
})
},
//关键字搜索
search(){
this.$jsonp("https://apis.map.qq.com/ws/place/v1/suggestion/", {
key: "xxxxx",
output: "jsonp",
keyword:'关键字',
})
.then((res) => {
console.log('搜索',res);
if (res.status === 0 && res.data) {
}
})
.catch((err) => {
console.log('错误',err);
});
}