欢迎光临,了解微信小程序开发,就上易用通!

微信小程序之根据经纬度反查地址

发布:2018-01-30 16:42浏览: 来源:网络 作者:tianshu

最近做微信小程序项目中遇到根据后台接口获取城市某个区域内的信息,后台接口要求传入城市的区域名称,例如上海市杨浦区,小程序官方地址提供的API只能获取到用户当前的经纬度,如何通过经纬度查询到用户的当前位置 ...

 
 
 

最近做微信小程序项目中遇到根据后台接口获取城市某个区域内的信息,后台接口要求传入城市的区域名称,例如上海市杨浦区,小程序官方地址提供的API只能获取到用户当前的经纬度,如何通过经纬度查询到用户的当前位置成了一个问题。所以通过研究和查询资料解决了这个问题,现共享给大家。

我是通过腾讯地图逆地址解析,在通过经纬度获取详细的位置信息数据。

根据腾讯地图API,以图文的方式说明如何获取详细的位置信息数据。具体参考腾讯地图Webservice API的介绍。地址:腾讯位置服务

step1:申请腾讯地图密钥(key),申请地址:申请密钥

填写完成后即可获取到对应的key值。

微信小程序之根据经纬度反查地址(图1)

申请腾讯地图密钥.png 
step2:通过小程序官方API获取用户当前位置经纬度。然后根据腾讯Webservice API逆地址解析相关介绍,传入获取到的经纬度,即可获取。

示例代码:

 

		
  1. //获取当前位置经纬度
  2. wx.getLocation({
  3. type: 'wgs84',
  4. success: function (res) {
  5. //console.log("获取当前经纬度:" + JSON.stringify(res));
  6. //发送请求通过经纬度反查地址信息
  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. })

微信小程序之根据经纬度反查地址(图2)

获取当前经纬度.jpg  获取的位置示例,根据项目提取需要的数据。

 

		
  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": "北京市海淀区北四环西路66号",
  11. "formatted_addresses": {
  12. "recommend": "海淀区中国技术交易大厦(左岸工社东)",
  13. "rough": "海淀区中国技术交易大厦(左岸工社东)"
  14. },
  15. "address_component": {
  16. "nation": "中国",
  17. "province": "北京市",
  18. "city": "北京市",
  19. "district": "海淀区",
  20. "street": "北四环西路",
  21. "street_number": "北四环西路66号"
  22. },
  23. "ad_info": {
  24. "nation_code": "156",
  25. "adcode": "110108",
  26. "city_code": "156110000",
  27. "name": "中国,北京市,北京市,海淀区",
  28. "location": {
  29. "lat": 39.984154,
  30. "lng": 116.307487
  31. },
  32. "nation": "中国",
  33. "province": "北京市",
  34. "city": "北京市",
  35. "district": "海淀区"
  36. },
  37. "address_reference": {
  38. "business_area": {
  39. "title": "中关村",
  40. "location": {
  41. "lat": 39.984089,
  42. "lng": 116.307564
  43. },
  44. "_distance": 0,
  45. "_dir_desc": "内"
  46. },
  47. "famous_area": {
  48. "title": "中关村",
  49. "location": {
  50. "lat": 39.984089,
  51. "lng": 116.307564
  52. },
  53. "_distance": 0,
  54. "_dir_desc": "内"
  55. },
  56. "crossroad": {
  57. "title": "彩和坊路/北四环西路辅路(路口)",
  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": "内"
  73. },
  74. "street_number": {
  75. "title": "北四环西路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": "左岸工社",





免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。