wx.ready(() => {
wx.getLocation({
type: "gcj02",
success: function(res) {
var location =
"&location=" + res.longitude + "," + res.latitude;
ReservationService.getGeocode(location).then(response => {
if (
response.data.status === "1" &&
response.data.info === "OK"
) {
self.country =
response.data.regeocode.addressComponent.country;
self.city = response.data.regeocode.addressComponent.city;
var express =
"/" +
self.country +
"|" +
response.data.regeocode.addressComponent.province +
"|" +
self.city +
"|" +
response.data.regeocode.addressComponent.district +
"|" +
response.data.regeocode.addressComponent.township +
"/g";
self.address = response.data.regeocode.formatted_address.replace(
eval(express),
""
);
} else {
// get location error, plz input address
alert("無法獲取地址信息,請稍後再試");
}
});
}
});
```
ReservationService.getGeocode的實現:
getGeocode(location) {
const key = '此處填入您高德地圖app的key';
return axios.post('https://restapi.amap.com/v3/geocode/regeo?key=' + key + location);
}
看下面一個使用高德地圖API將經緯度轉換成文字描述的地址的例子,使用postman發送請求:
API響應:
```json
{
"status": "1",
"regeocode": {
"addressComponent": {
"city": [],
"province": "北京市",
"adcode": "110101",
"district": "東城區",
"towncode": "110101001000",
"streetNumber": {
"number": "44號",
"location": "116.39795,39.9097239",
"direction": "東北",
"distance": "117.874",
"street": "廣場東側路"
},
"country": "中國",
"township": "東華門街道",
"businessAreas": [
{
"location": "116.3998109423077,39.90717459615385",
"name": "天安門",
"id": "110101"
},
{
"location": "116.39981058278138,39.92383706953642",
"name": "景山",
"id": "110101"
},
{
"location": "116.4118112683418,39.91461494422115",
"name": "王府井",
"id": "110101"
}
],
"building": {
"name": "天安門",
"type": "風景名勝;風景名勝相關;旅遊景點"
},
"neighborhood": {
"name": [],
"type": []
},
"citycode": "010"
},
"formatted_address": "北京市東城區東華門街道天安門"
},
"info": "OK",
"infocode": "10000"
}
```
閱讀更多 汪子熙SAP 的文章