在微信小程序裏自動得到當前手機所在的經緯度並轉換成地址

效果:我在手機上打開微信小程序,自動顯示出我當前所在的地理位置:javascript

具體步驟:java

1. 使用微信jssdk提供的getLocation API拿到經緯度;ios

2. 調用高德地圖的api使用經緯度去換取地址的文字描述。git

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的實現:express

getGeocode(location) {json

const key = '此處填入您高德地圖app的key';axios

return axios.post('https://restapi.amap.com/v3/geocode/regeo?key=' + key + location);小程序

}微信小程序

看下面一個使用高德地圖API將經緯度轉換成文字描述的地址的例子,使用postman發送請求:api

API響應:

{

"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"

}

要獲取更多Jerry的原創文章,請關注公衆號"汪子熙":

相關文章
相關標籤/搜索