最近做微信小程序項目中遇到根據(jù)后臺接口獲取城市某個區(qū)域內(nèi)的信息,后臺接口要求傳入城市的區(qū)域名稱,例如上海市楊浦區(qū),小程序官方地址提供的API只能獲取到用戶當(dāng)前的經(jīng)緯度,如何通過經(jīng)緯度查詢到用戶的當(dāng)前位置 ...
最近做微信小程序項目中遇到根據(jù)后臺接口獲取城市某個區(qū)域內(nèi)的信息,后臺接口要求傳入城市的區(qū)域名稱,例如上海市楊浦區(qū),小程序官方地址提供的API只能獲取到用戶當(dāng)前的經(jīng)緯度,如何通過經(jīng)緯度查詢到用戶的當(dāng)前位置成了一個問題。所以通過研究和查詢資料解決了這個問題,現(xiàn)共享給大家。
我是通過騰訊地圖逆地址解析,在通過經(jīng)緯度獲取詳細(xì)的位置信息數(shù)據(jù)。
根據(jù)騰訊地圖API,以圖文的方式說明如何獲取詳細(xì)的位置信息數(shù)據(jù)。具體參考騰訊地圖Webservice API的介紹。地址:騰訊位置服務(wù)
step1:申請騰訊地圖密鑰(key),申請地址:申請密鑰
填寫完成后即可獲取到對應(yīng)的key值。
申請騰訊地圖密鑰.png
step2:通過小程序官方API獲取用戶當(dāng)前位置經(jīng)緯度。然后根據(jù)騰訊Webservice API逆地址解析相關(guān)介紹,傳入獲取到的經(jīng)緯度,即可獲取。
示例代碼:
//獲取當(dāng)前位置經(jīng)緯度wx.getLocation({type: 'wgs84',success: function (res) {//console.log("獲取當(dāng)前經(jīng)緯度:" + JSON.stringify(res));//發(fā)送請求通過經(jīng)緯度反查地址信息 var getAddressUrl = "https://apis.map.qq.com/ws/geocoder/v1/?location=" + res.latitude + "," + res.longitude + "&key=你的key值&get_poi=1";common.Request(getAddressUrl, "get", "", function (ops) {//console.log(JSON.stringify(ops)); })}}) 獲取當(dāng)前經(jīng)緯度.jpg 獲取的位置示例,根據(jù)項目提取需要的數(shù)據(jù)。
{"status": 0,"message": "query ok","request_id": "7e11ac8e-f763-11e7-b568-6c92bf3a15eb","result": {"location": {"lat": 39.984154,"lng": 116.30749},"address": "北京市海淀區(qū)北四環(huán)西路66號","formatted_addresses": {"recommend": "海淀區(qū)中國技術(shù)交易大廈(左岸工社東)","rough": "海淀區(qū)中國技術(shù)交易大廈(左岸工社東)"},"address_component": {"nation": "中國","province": "北京市","city": "北京市","district": "海淀區(qū)","street": "北四環(huán)西路","street_number": "北四環(huán)西路66號"},"ad_info": {"nation_code": "156","adcode": "110108","city_code": "156110000","name": "中國,北京市,北京市,海淀區(qū)","location": {"lat": 39.984154,"lng": 116.307487},"nation": "中國","province": "北京市","city": "北京市","district": "海淀區(qū)"},"address_reference": {"business_area": {"title": "中關(guān)村","location": {"lat": 39.984089,"lng": 116.307564},"_distance": 0,"_dir_desc": "內(nèi)"},"famous_area": {"title": "中關(guān)村","location": {"lat": 39.984089,"lng": 116.307564},"_distance": 0,"_dir_desc": "內(nèi)"},"crossroad": {"title": "彩和坊路/北四環(huán)西路輔路(路口)","location": {"lat": 39.985001,"lng": 116.308113},"_distance": 102.8,"_dir_desc": "西南"},"town": {"title": "海淀街道","location": {"lat": 39.984154,"lng": 116.307487},"_distance": 0,"_dir_desc": "內(nèi)"},"street_number": {"title": "北四環(huán)西路66號","location": {"lat": 39.984119,"lng": 116.307503},"_distance": 6.2,"_dir_desc": ""},"street": {"title": "彩和坊路","location": {"lat": 39.984169,"lng": 116.308098},"_distance": 46.6,"_dir_desc": "西"},"landmark_l1": {"title": "左岸工社",