小程序模板網(wǎng)

微信小程序之根據(jù)經(jīng)緯度反查地址

發(fā)布時間:2018-01-30 16:42 所屬欄目:小程序開發(fā)教程

最近做微信小程序項目中遇到根據(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)緯度,即可獲取。

示例代碼:

 

		
  1. //獲取當(dāng)前位置經(jīng)緯度
  2. wx.getLocation({
  3. type: 'wgs84',
  4. success: function (res) {
  5. //console.log("獲取當(dāng)前經(jīng)緯度:" + JSON.stringify(res));
  6. //發(fā)送請求通過經(jīng)緯度反查地址信息
  7. var getAddressUrl = "https://apis.map.qq.com/ws/geocoder/v1/?location=" + res.latitude + "," + res.longitude + "&key=你的key值&get_poi=1";
  8. common.Request(getAddressUrl, "get", "", function (ops) {
  9. //console.log(JSON.stringify(ops));
  10. })
  11. }
  12. })

獲取當(dāng)前經(jīng)緯度.jpg  獲取的位置示例,根據(jù)項目提取需要的數(shù)據(jù)。

 

		
  1. {
  2. "status": 0,
  3. "message": "query ok",
  4. "request_id": "7e11ac8e-f763-11e7-b568-6c92bf3a15eb",
  5. "result": {
  6. "location": {
  7. "lat": 39.984154,
  8. "lng": 116.30749
  9. },
  10. "address": "北京市海淀區(qū)北四環(huán)西路66號",
  11. "formatted_addresses": {
  12. "recommend": "海淀區(qū)中國技術(shù)交易大廈(左岸工社東)",
  13. "rough": "海淀區(qū)中國技術(shù)交易大廈(左岸工社東)"
  14. },
  15. "address_component": {
  16. "nation": "中國",
  17. "province": "北京市",
  18. "city": "北京市",
  19. "district": "海淀區(qū)",
  20. "street": "北四環(huán)西路",
  21. "street_number": "北四環(huán)西路66號"
  22. },
  23. "ad_info": {
  24. "nation_code": "156",
  25. "adcode": "110108",
  26. "city_code": "156110000",
  27. "name": "中國,北京市,北京市,海淀區(qū)",
  28. "location": {
  29. "lat": 39.984154,
  30. "lng": 116.307487
  31. },
  32. "nation": "中國",
  33. "province": "北京市",
  34. "city": "北京市",
  35. "district": "海淀區(qū)"
  36. },
  37. "address_reference": {
  38. "business_area": {
  39. "title": "中關(guān)村",
  40. "location": {
  41. "lat": 39.984089,
  42. "lng": 116.307564
  43. },
  44. "_distance": 0,
  45. "_dir_desc": "內(nèi)"
  46. },
  47. "famous_area": {
  48. "title": "中關(guān)村",
  49. "location": {
  50. "lat": 39.984089,
  51. "lng": 116.307564
  52. },
  53. "_distance": 0,
  54. "_dir_desc": "內(nèi)"
  55. },
  56. "crossroad": {
  57. "title": "彩和坊路/北四環(huán)西路輔路(路口)",
  58. "location": {
  59. "lat": 39.985001,
  60. "lng": 116.308113
  61. },
  62. "_distance": 102.8,
  63. "_dir_desc": "西南"
  64. },
  65. "town": {
  66. "title": "海淀街道",
  67. "location": {
  68. "lat": 39.984154,
  69. "lng": 116.307487
  70. },
  71. "_distance": 0,
  72. "_dir_desc": "內(nèi)"
  73. },
  74. "street_number": {
  75. "title": "北四環(huán)西路66號",
  76. "location": {
  77. "lat": 39.984119,
  78. "lng": 116.307503
  79. },
  80. "_distance": 6.2,
  81. "_dir_desc": ""
  82. },
  83. "street": {
  84. "title": "彩和坊路",
  85. "location": {
  86. "lat": 39.984169,
  87. "lng": 116.308098
  88. },
  89. "_distance": 46.6,
  90. "_dir_desc": "西"
  91. },
  92. "landmark_l1": {
  93. "title": "左岸工社",


易優(yōu)小程序(企業(yè)版)+靈活api+前后代碼開源 碼云倉庫:starfork
本文地址:http://22321a.com/wxmini/doc/course/21122.html 復(fù)制鏈接 如需定制請聯(lián)系易優(yōu)客服咨詢:800182392 點擊咨詢
QQ在線咨詢