微信公众号获取用户地理位置,转换百度坐标
开发微信公众号,首先要先成为开发者。请自行百度。
在微信公众平台开启接口权限——接口权限—网页服务—地理位置—开启
JSSDK使用步骤
步骤一:绑定域名
先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。
备注:登录后可在“开发者中心”查看对应的接口权限。
步骤二:引入JS文件
在需要调用JS接口的页面引入如下JS文件,(支持https):http://res.wx.qq.com/open/js/jweixin-1.4.0.js
如需进一步提升服务稳定性,当上述资源不可访问时,可改访问:http://res2.wx.qq.com/open/js/jweixin-1.4.0.js (支持https)。
备注:支持使用 AMD/CMD 标准模块加载方法加载
步骤三:通过config接口注入权限验证配置
wx.config({debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。appId: '', // 必填,公众号的唯一标识timestamp: , // 必填,生成签名的时间戳nonceStr: '', // 必填,生成签名的随机串signature: '',// 必填,签名jsApiList: [] // 必填,需要使用的JS接口列表
});
这个签名由后台生成
下面是我用vue+vue-resource+微信api获取的用户经度纬度,调用百度地图api转换成地理位置。不转换偏差会很大
// 获取当前地址(不包括#号后面的东西),微信公众号签名需要,否则会报签名无效,这个地址是传给后台生成签名用的。var isurl=location.href.split('#')[0]// 带当前地址请求后台数据this.$http.get('后台地址',{params:{url:isurl // 当前地址},},).then((result) => {// 后台返回的签名数据var autograph = result.data;wx.config({debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。appId: autograph.appId, // 必填,公众号的唯一标识timestamp:autograph.timestamp, // 必填,生成签名的时间戳nonceStr: autograph.nonceStr, // 必填,生成签名的随机串signature: autograph.signature, // 必填,签名jsApiList: [ // 必填,需要使用微信的JS接口列表'getLocation',]});// 保存this,由于下面的代码不是用es6的箭头函数,所以要保存this一下var m=this;// 由于页面一加载就需要获取用户定位,所以要写wx.ready函数,没这需要可不写wx.ready(function(){// 获取用户当前位置经度纬度wx.getLocation({type: 'wgs84', // 坐标类型 默认wgs84success:function(result){// 11111111111111 返回的数据看下面的截图// 微信返回的用户当前位置经度纬度var res=result;// 带着经度纬度用jsonp方式请求百度接口,转换成百度坐标,不转换百度坐标,偏差会很大。m.$http.jsonp('http://api.map.baidu.com/geoconv/v1/',{params:{coords:res.longitude+','+res.latitude, // 微信返回用户当前位置经度纬度from:1, // 当前坐标类型,1-7种类型,详情看http://lbsyun.baidu.com/index.php?title=webapi/guide/changepositionto:5, // 百度地图返回的坐标类型,5:bd09ll(百度经纬度坐标)6:bd09mc(百度米制经纬度坐标)ak:'3123skdhfiweuyrkhtkjhskf1', // 百度地图开发者秘钥(我的乱写的),一定要设置一下 Referer白名单},},).then((result1) => {// 22222222222 返回的数据看下面的截图// 转换成百度坐标返回的经度纬度let res=result1;// 传经度纬度,百度地图创建点let pointAdd = new BMap.Point(res.body.result[0].x,res.body.result[0].y);// 地址解析器实例let gc = new BMap.Geocoder();// 调用百度api 将坐标转换为地理位置gc.getLocation(pointAdd, function(rs) {// 33333333333 返回的数据看下面的截图// 转换为地理位置返回的数据console.log(rs)});},(err)=>{alert('err请求失败')})},cancel: function(res) {alert('用户拒绝授权获取地理位置');}});wx.error(function(res) {// 上面wx.config里的debug设置true 这里调用微信jsapi返回的状态// alert("调用微信jsapi返回的状态:" + res.errMsg);});})}),(err) => {alert('err请求失败')}
1111111
222222
3333333
微信公众号获取用户地理位置,转换百度坐标相关推荐
- php 微信获取门店列表,【转载】微信公众号获取用户地理位置并列出附近的门店...
思路分析: 1.在微信公众号内获取用户地理位置 需要js-sdk签名包(关于如何获取文档有介绍) 2.根据获取的地理位置ajax去后台请求,通过sql语句,查询中距离最近的门店(sql语句在网上搜的, ...
- java查看附近门店_微信公众号获取用户地理位置并列出附近的门店的示例代码...
思路分析: 1.在微信公众号内获取用户地理位置 需要js-sdk签名包(关于如何获取文档有介绍) 2.根据获取的地理位置ajax去后台请求,通过sql语句,查询中距离最近的门店(sql语句在网上搜的, ...
- python 公众号 关注者位置_微信公众号获取用户地理位置
很久没搞微信的js-sdk了, 搞了一下午, 刷新页面老是失败, 没想到结合经验给大家展示下获取用户地理位置 第一步:登录微信公众号https://mp.weixin.qq.com 首先先设置最基本的 ...
- php微信jssdk获取位置,微信公众号获取用户地理位置
微信公众开放平台 接口文档:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140841 获取用户地理位置(需要用户点击同 ...
- PHP微信公众号获取用户地理位置,获取用户地理位置
开通了上报地理位置接口的公众号,用户在关注后进入公众号会话时,会弹框让用户确认是否允许公众号使用其地理位置.弹框只在关注后出现一次,用户以后可以在公众号详情页面进行操作. 第三方在收到地理位置上报信息 ...
- PHP微信公众号,获取用户地理位置 定位 经纬度
<?php //php插件下载地址: https://files.cnblogs.com/files/fan-bk/jssdk_php.rar //建立一个php文件 require_once ...
- php微信地理位置,php,微信公众号,获取用户地理位置 定位 经纬度
//php插件下载地址: https://files.cnblogs.com/files/fan-bk/jssdk_php.rar //建立一个php文件 require_once "jss ...
- PHP 公众号获取用户地理位置,微信公众号接口配置,并利用接口获取用户地理位置...
微信公众号获取用户地理位置有两种方法: 一是在进入微信公众号时获取,然后微信服务器将位置传到我们的服务器. 二是在公众号网页中,通过 JS-SDK 获取. 本文介绍的是第一种方法,第二种方法的部分内容 ...
- tp5微信公众号获取用户openid_tp5+微信公众号获取用户基本信息
获取用户基本信息(UnionID机制) 获取用户基本信息(UnionID机制) 在关注者与公众号产生消息交互后,公众号可获得关注者的OpenID(加密后的微信号,每个用户对每个公众号的OpenID是唯 ...
最新文章
- 学python可以做什么产品-学了 Python,能用来做什么?实际应用场景有哪些??...
- 贝叶斯定理与贝叶斯估计
- android 自动补全方法,Android零基础入门|自动完成文本框AutoCompleteTextView
- linux+不同分区mv,mv操作深入浅出
- 轻松 Flutter 入门,秒变大前端
- 闭包,sync使用细节
- Android 数据存储之文件存储小记
- Data Lake Analytics: 以SQL方式查询Redis数据
- 01let和const
- EmEditor Professional 7.02 RC 3
- 一个简单的Ajax实例
- 求矩阵全部特征值和特征向量的QR方法
- Hibernate读书笔记-----Hibernate的关联映射之N-1关联映射
- spring catch了异常还是回滚了_干货:Spring 踩坑之@Transactional 神奇失效
- wgs84坐标系和国内地图坐标系的转换
- yml文件和properties文件区别
- android 外文翻译,Android外文文献翻译.doc
- Wireshark抓包体验
- el-table复选框全部勾选以及勾选回显
- Python 用plt做动画
热门文章
- IPHONE能否成为圣剑?助苹果斩杀群雄!
- 泛微E-Office文件上传漏洞(CNVD-2021-49104)
- 如何做好Clickhouse集群的监控覆盖?
- c语言中猜字母代码怎么打,C语言代码实现猜数字
- 守护安全|AIRIOT城市天然气综合管理解决方案
- Vue2使用记录(待续)
- html ua ios,iOS 修改默认 UserAgent
- 干货!探索单目车辆估计中的中间几何表示
- ipad上的人体模型_我拥有哪种iPad模型?
- ajax谷歌浏览器提示等待超时,调用谷歌浏览器爬虫,selenium webdriver等设置等待时间和超时时间...