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

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

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

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

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

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

示例代码:

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

获取的位置示例,根据项目提取需要的数据。

{"status": 0,"message": "query ok","request_id": "7e11ac8e-f763-11e7-b568-6c92bf3a15eb","result": {"location": {"lat": 39.984154,"lng": 116.30749},"address": "北京市海淀区北四环西路66号","formatted_addresses": {"recommend": "海淀区中国技术交易大厦(左岸工社东)","rough": "海淀区中国技术交易大厦(左岸工社东)"},"address_component": {"nation": "中国","province": "北京市","city": "北京市","district": "海淀区","street": "北四环西路","street_number": "北四环西路66号"},"ad_info": {"nation_code": "156","adcode": "110108","city_code": "156110000","name": "中国,北京市,北京市,海淀区","location": {"lat": 39.984154,"lng": 116.307487},"nation": "中国","province": "北京市","city": "北京市","district": "海淀区"},"address_reference": {"business_area": {"title": "中关村","location": {"lat": 39.984089,"lng": 116.307564},"_distance": 0,"_dir_desc": "内"},"famous_area": {"title": "中关村","location": {"lat": 39.984089,"lng": 116.307564},"_distance": 0,"_dir_desc": "内"},"crossroad": {"title": "彩和坊路/北四环西路辅路(路口)","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": "内"},"street_number": {"title": "北四环西路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": "左岸工社","location": {"lat": 39.984112,"lng": 116.30439},"_distance": 176,"_dir_desc": "东"},"landmark_l2": {"title": "中国技术交易大厦A座","location": {"lat": 39.984329,"lng": 116.307419},"_distance": 20.4,"_dir_desc": ""}},"poi_count": 10,"pois": [{"id": "2845372667492951071","title": "中国技术交易大厦A座","address": "北京市海淀区北四环西路66号","category": "房产小区:商务楼宇","location": {"lat": 39.984329,"lng": 116.307419},"ad_info": {"adcode": "110108","province": "北京市","city": "北京市","district": "海淀区"},"_distance": 20.4,"_dir_desc": ""},{"id": "11939717548889564206","title": "中国技术交易大厦-西门","address": "北京市海淀区北四环西路66号附近","category": "室内及附属设施:通行设施类:门/出入口","location": {"lat": 39.98415,"lng": 116.307281},"ad_info": {"adcode": "110108","province": "北京市","city": "北京市","district": "海淀区"},"_distance": 17.6,"_dir_desc": ""},{"id": "13097787876388519900","title": "中国技术交易大厦-东门","address": "北京市海淀区彩和坊路与海淀北一街交叉口西北50米","category": "室内及附属设施:通行设施类:门/出入口","location": {"lat": 39.984131,"lng": 116.307716},"ad_info": {"adcode": "110108","province": "北京市","city": "北京市","district": "海淀区"},"_distance": 19.7,"_dir_desc": ""},{"id": "12925244666643621769","title": "中国技术交易大厦B座","address": "北京市海淀区北四环西路66","category": "房产小区:商务楼宇","location": {"lat": 39.984112,"lng": 116.307587},"ad_info": {"adcode": "110108","province": "北京市","city": "北京市","district": "海淀区"},"_distance": 9.7,"_dir_desc": ""},{"id": "3629720141162880123","title": "中国技术交易大厦","address": "北京市海淀区北四环西路66号","category": "房产小区:商务楼宇","location": {"lat": 39.984089,"lng": 116.307564},"ad_info": {"adcode": "110108","province": "北京市","city": "北京市","district": "海淀区"},"_distance": 0,"_dir_desc": "内"},{"id": "9969038414753335812","title": "腾讯科技(北京)有限公司(中国技术交易大厦)","address": "北京市海淀区北四环西路66号中国技术交易大厦","category": "公司企业:公司企业","location": {"lat": 39.984131,"lng": 116.307503},"ad_info": {"adcode": "110108","province": "北京市","city": "北京市","district": "海淀区"},"_distance": 2.9,"_dir_desc": ""},{"id": "12689244359326172642","title": "车库咖啡","address": "北京市海淀区中关村创业大街6号楼2层","category": "娱乐休闲:咖啡厅","location": {"lat": 39.983898,"lng": 116.306908},"ad_info": {"adcode": "110108","province": "北京市","city": "北京市","district": "海淀区"},"_distance": 57.1,"_dir_desc": "东北"},{"id": "3187032738687555052","title": "中关村创业大街","address": "北京市海淀区海淀西大街","category": "购物:商业步行街","location": {"lat": 39.984741,"lng": 116.306519},"ad_info": {"adcode": "110108","province": "北京市","city": "北京市","district": "海淀区"},"_distance": 43.9,"_dir_desc": "东北"},{"id": "7246616758286733108","title": "基督教堂(彩和坊路)","address": "北京市海淀区彩和坊路9号","category": "旅游景点:教堂","location": {"lat": 39.983269,"lng": 116.307648},"ad_info": {"adcode": "110108","province": "北京市","city": "北京市","district": "海淀区"},"_distance": 69.5,"_dir_desc": "北"},{"id": "14510474916445262010","title": "言几又(中关村店)","address": "北京市海淀区海淀西大街48号","category": "购物:图书音像","location": {"lat": 39.98373,"lng": 116.30661},"ad_info": {"adcode": "110108","province": "北京市","city": "北京市","district": "海淀区"},"_distance": 88.4,"_dir_desc": "东北"}]}
}

在小程序里使用注意的地方:

  • 需要在微信小程序后台配置合法域名;
  • 测试时也可以在开发工具中选择不校验安全域名。

转载于:https://www.cnblogs.com/YYW303/p/9405783.html

微信小程序之根据经纬度反查地址相关推荐

  1. 微信小程序+mysql实现增删改查

    目录 微信小程序+mysql实现增删改查 一.效果展示 二.相关知识点 1.wx.chooseImage(Object object) 选择图片 2.wx.uploadFile(Object obje ...

  2. 网易云易盾推出面向微信小程序的大数据反作弊产品

    近日,国内领先的业务风控服务网易云易盾对外推出面向微信小程序的大数据反作弊产品,源于网易20年的核心业务风控技术与全面稳健的策略模型,有机整合了设备指纹.IP画像.规则引擎等八大能力,可广泛应用电商营 ...

  3. 微信小程序:多功能起名查重工具

    这是一个实用需求量还是比较高的一款微信小程序源码 由多个功能组合而成,具体如下 名字来源查询 取名工具(支持多种选择取名) 查询重复名(输入名字查询有多少人和你吃饭) 诗文(里面就是一些古诗啥的展示) ...

  4. 微信小程序调用数据库增删改查

    微信小程序调用数据库增删改查 php代码 获得数据库全部数据 js代码 增 wxml页面 js代码 删 js代码 改 js代码 查 js代码 输出展示 不足&改进想法 php代码 <?p ...

  5. vue代码可以反编译吗_微信小程序源码提取反编译

    一.前言 微信小程序源码提取反编译,听起来很屌,其实还是简单的,基本是傻瓜式操作.要想拿到微信小程序源码,找到源文件在手机存放的位置就行,源文件拿到,用反编译脚本跑一下,微信小程序代码包里的所有文件. ...

  6. 微信小程序---地图导航(点击地址,可以进行导航)

    微信小程序-地图导航(点击地址,可以进行导航) // 地图getLocation(e){var that = this,address = e.currentTarget.dataset.addres ...

  7. android 分享微信小程序失败,从一次失败的微信小程序抓包、反编译经历中学习反思...

    某天看到群里某个朋友说某小程序抓不到包,我突然就来了兴趣,我也试着分析了下这个小程序,名字我就不说了,本着我个人兴趣分析学习的目的. 我用安卓和IOS,以及charles和fiddler都试了,还真的 ...

  8. 微信小程序 定位 获取经纬度城市街道等位置信息

    看文章 扫一扫 领红包哦 请先看微信小程序关于定位的API:https://mp.weixin.qq.com/debug/wxadoc/dev/api/location.html#wxgetlocat ...

  9. 微信小程序,将经纬度转化为城市地区(腾讯位置服务)

    第一步 小程序中需要通过getLocation方法获取地理位置 wx.getLocation({type: 'wgs84',success (res) {const latitude = res.la ...

最新文章

  1. Log4j 2.17.0 再曝漏洞,但不要惊慌!
  2. Bat 循環執行範例
  3. 051_原码反码补码概念
  4. 性能远超AtomicLong,LongAdder原理完全解读
  5. Qt工作笔记-Qt creator如何生成dll,以及如何移植到vs上
  6. 检查点和oracle数据库的恢复(一)SCN
  7. 待看内容 20160823
  8. hadoop MapReduce 输出结果中文乱码解决
  9. 通过mysqladmin监控MySQL数据的服务器状态
  10. delphi 访问https 接口
  11. 联想win11出现wifi图标消失
  12. 力扣 面试题 08.04. 幂集
  13. 北航计算机组成原理课程设计-2020秋 PreProject-Verilog HDL与ISE-ISE的获取和使用
  14. 【机器人】大四本科生发明 自动写作论文的机器人
  15. 【开源案例】基于机智云物联网平台的懒人版智能花盆
  16. DL | TensorFlow代码调试
  17. 注册微信公众号需要哪些材料?
  18. [转]JFFS2源代码情景分析Beta2
  19. html+css+js 做一个加解密小网页
  20. 万字长文带你 搞定 linux BT 宝塔面板 之外网上快速搭建苹果CMS电影网站

热门文章

  1. 【容器】kubectl|K8S常用命令总结|crictl管理命令
  2. python数据分析实验报告_使用 Python 3 进行气象数据分析
  3. Android动态图文混排,Android控件TextView实现静态图与动态GIF图文混排
  4. Linux下conda安装caffe(超简单),pb转caffe
  5. JAVA编写PTA(10分)
  6. Tkinter 极简例子——Event篇
  7. java实现lbs_Java总结篇系列:Java泛型
  8. K8S调用GPU资源配置指南
  9. 高通cDSP介绍汇总
  10. 《Cinema 4D + After Effects动态图形设计案例解析》——1.3 动态图形的应用领域