小程序模板网

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

发布时间:2018-01-30 16:42 所属栏目:小程序开发教程

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

 
 
 

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

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

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

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

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

申请腾讯地图密钥.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. })

获取当前经纬度.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": "左岸工社",


易优小程序(企业版)+灵活api+前后代码开源 码云仓库:starfork
本文地址:https://www.eyoucms.com/wxmini/doc/course/21122.html 复制链接 如需定制请联系易优客服咨询:800182392 点击咨询
QQ在线咨询