微信获取用户地理位置信息的原理与步骤


Posted in PHP onNovember 12, 2015

在微信公众服务号开发需求中经常有获取用户位置信息的功能,通过用户的位置信息,可以做一些地图导航,以及基于LBS的营销活动。

下面通过给大家介绍微信服务号获取用户位置信息的原理与步骤。

原理

1. 位置信息获取流程

微信获取用户地理位置信息的原理与步骤

2. 位置信息报文

<xml><ToUserName><![CDATA[gh_public_member_account]]></ToUserName>
<FromUserName><![CDATA[oNEGGwGfl8f5xMEqVHToL63LDL40]]></FromUserName>
<CreateTime>1444035882</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[LOCATION]]></Event>
<Latitude>28.701618</Latitude>
<Longitude>115.818817</Longitude>
<Precision>30.000000</Precision>
</xml>

参数说明:

参数 描述
ToUserName 开发者微信号
FromUserName 发送方帐号(一个OpenID)
CreateTime 消息创建时间 (整型)
MsgType 消息类型,event
Event 事件类型,LOCATION
Latitude 地理位置纬度
Longitude 地理位置经度
Precision 地理位置精度

获取位置信息步骤

1. 申请服务号认证

只有通过认证的服务号,才能够获取访问微信高级服务的权限。

2. 开启用户位置信息获取功能

开发者中心 -> 获取用户地理位置

微信获取用户地理位置信息的原理与步骤

3. weiPHP地理位置信息消息处理。

1. 配置微信服务号开发接口

微信获取用户地理位置信息的原理与步骤

微信服务器将会把用户与微信之间的交互事件消息,通过此接口推送给SP服务器。

2. 在WeixinController的IndexAction中处理location消息。

将xml消息转化为php数组,然后取出经纬度信息,以备使用。

$content = file_get_contents ( 'php://input' );
$data = new \SimpleXMLElement ( $content );
foreach ( $data as $key => $value ) {
 $this->data [$key] = strval ( $value );
}
// to use data["longitude"]; data["latitude"].

以上通过图文的方式给大家展示了微信获取用户地理位置信息的原理与步骤,希望大家喜欢。

PHP 相关文章推荐
PHP自定义大小验证码的方法详解
Jun 07 PHP
编译php 5.2.14+fpm+memcached(具体操作详解)
Jun 18 PHP
php多文件上传下载示例分享
Feb 20 PHP
PHP中使用sleep造成mysql读取失败的案例和解决方法
Aug 21 PHP
浅谈PHP eval()函数定义和用法
Jun 21 PHP
Yii全局函数用法示例
Jan 22 PHP
PHP基于正则批量替换Img中src内容实现获取缩略图的功能示例
Jun 07 PHP
PHP读取CSV大文件导入数据库的实例
Jul 24 PHP
[原创]PHP实现字节数Byte转换为KB、MB、GB、TB的方法
Aug 31 PHP
laravel框架邮箱认证实现方法详解
Nov 22 PHP
如何在PHP环境中使用ProtoBuf数据格式
Jun 19 PHP
PHP 对接美团大众点评团购券(门票)的开发步骤
Apr 03 PHP
php验证手机号码
Nov 11 #PHP
Thinkphp无限级分类代码
Nov 11 #PHP
php验证码生成代码
Nov 11 #PHP
分享10段PHP常用代码
Nov 11 #PHP
php+mysql实现无限级分类
Nov 11 #PHP
2款PHP无限级分类实例代码
Nov 11 #PHP
PHP中set error handler函数用法小结
Nov 11 #PHP
You might like
PHP输出控制功能在简繁体转换中的应用
2006/10/09 PHP
PHP数字和字符串ID互转函数(类似优酷ID)
2014/06/30 PHP
php中heredoc与nowdoc介绍
2014/12/25 PHP
JavaScript 异步调用框架 (Part 4 - 链式调用)
2009/08/04 Javascript
jquery.qrcode在线生成二维码使用示例
2013/08/21 Javascript
jquery toolbar与网页浮动工具条具体实现代码
2014/01/12 Javascript
jquery库或JS文件在eclipse下报错问题解决方法
2014/04/17 Javascript
javascript获取checkbox复选框获取选中的选项
2014/08/12 Javascript
indexOf 和 lastIndexOf 使用示例介绍
2014/09/02 Javascript
重写document.write实现无阻塞加载js广告(补充)
2014/12/12 Javascript
Vue.js开发环境搭建
2016/11/10 Javascript
原生JS 购物车及购物页面的cookie使用方法
2017/08/21 Javascript
Bootstrap栅格系统的使用详解
2017/10/30 Javascript
jquery中ajax请求后台数据成功后既不执行success也不执行error的完美解决方法
2017/12/24 jQuery
webpack-mvc 传统多页面组件化开发详解
2019/05/07 Javascript
JS图片预加载三种实现方法解析
2020/05/08 Javascript
nodejs使用Sequelize框架操作数据库的实现
2020/10/21 NodeJs
原生js实现放大镜组件
2021/01/22 Javascript
vue登录页实现使用cookie记住7天密码功能的方法
2021/02/18 Vue.js
Python命令行参数解析模块optparse使用实例
2015/04/13 Python
深入分析python数据挖掘 Json结构分析
2018/04/21 Python
Python中拆分字符串的操作方法
2019/07/23 Python
使用sklearn的cross_val_score进行交叉验证实例
2020/02/28 Python
Python创建临时文件和文件夹
2020/08/05 Python
BannerBuzz加拿大:在线定制横幅印刷、广告和标志
2020/03/10 全球购物
波兰运动鞋网上商店:Distance.pl
2020/07/30 全球购物
畜牧兽医本科生个人的自我评价
2013/10/11 职场文书
违反工作纪律检讨书
2014/02/15 职场文书
2014元旦晚会策划方案
2014/02/19 职场文书
请假条的格式
2014/04/11 职场文书
2015年安全生产责任书
2015/01/30 职场文书
2015年爱牙日活动总结
2015/02/05 职场文书
公司放假通知范文
2015/04/14 职场文书
暂住证证明
2015/06/19 职场文书
傲慢与偏见读书笔记
2015/06/29 职场文书
如何用六步教会你使用python爬虫爬取数据
2022/04/06 Python