日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

微信小程序正确的异步request请求,根据经纬度获取地理位置信息

發布時間:2023/12/2 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 微信小程序正确的异步request请求,根据经纬度获取地理位置信息 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

微信小程序的所有request請求都是異步的,不支持同步。但是在請求時可能會耗費一定時間,這樣的話在獲取返回數據時可能方法還沒有執行完就已經進行賦值操作了。我遇到的就是拿到的數據為undefined。

解決辦法,使用回調函數,等操作完成后再更改原來的值。

貼代碼:(這是根據經緯度獲取地理位置的一個方法)

function GetAddress(latitude, longtitude, callback, errorCallback) {var geturl = 'https://api.map.baidu.com/geocoder/v2/?ak=自己去申請后替換&location=' + latitude + ',' + longtitude + '&output=json'wx.request({url: geturl,method: 'GET',header: {'content-type': 'application/json'},success: function (res) {//json處理var jsonStr=JSON.stringify(res.data)jsonStr = jsonStr.replace(/[\\]/g, '')jsonStr = jsonStr.substring(jsonStr.indexOf('(') + 1, jsonStr.indexOf(')'))var json=JSON.parse(jsonStr)if (typeof callback == "function")callback(json.result.formatted_address)},fail: function () {if (typeof errorCallback == "function")errorCallback("獲取失敗")}}) }

因為返回的json格式有點問題,我進行了處理在轉成Json的。這個用的是百度地圖的api來獲取,鏈接里面的AK參數就appkey,需要去百度地圖官網的控制臺申請,http://lbsyun.baidu.com/apiconsole/key。

下面的是調用

var s = com.GetAddress(23.10229, 113.3345211,function (data) {console.log(data);}, function (data) {console.error(data);})

小程序模塊的引用就不多說了。

這個是接口返回的json

renderReverse&&renderReverse({"status":0,"result":{"location":{"lng":113.33452109999998,"lat":23.102290010605964},"formatted_address":"廣東省廣州市海珠區新港中路479","business":"新港,赤崗,客村","addressComponent":{"country":"中國","country_code":0,"country_code_iso":"CHN","country_code_iso2":"CN","province":"廣東省","city":"廣州市","city_level":2,"district":"海珠區","town":"","adcode":"440105","street":"新港中路","street_number":"479","direction":"附近","distance":"2"},"pois":[],"roads":[],"poiRegions":[],"sematic_description":"710鮮果附近12米","cityCode":257}})

?

?

方法是直接就可以用的,關于回調,單個的異步請求可以用回調函數,多個異步操作需要用promise,其他的百度大佬的博客。

?

轉載于:https://www.cnblogs.com/FollowWinds/p/8335016.html

總結

以上是生活随笔為你收集整理的微信小程序正确的异步request请求,根据经纬度获取地理位置信息的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。