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


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+DBM的同学录程序(5)
Oct 09 PHP
一步一步学习PHP(5) 类和对象
Feb 16 PHP
PHP 一个随机字符串生成代码
May 26 PHP
11个PHP 分页脚本推荐
Aug 15 PHP
实用的PHP带公钥加密类分享(每次加密结果都不一样哦)
Aug 20 PHP
PHP下的Oracle客户端扩展(OCI8)安装教程
Sep 10 PHP
关于URL最大长度限制的相关资料查证
Dec 23 PHP
php调用自己java程序的方法详解
May 13 PHP
PHP针对伪静态的注入总结【附asp与Python相关代码】
Aug 01 PHP
PHP微信H5支付开发实例
Jul 25 PHP
浅析php如何实现爬取数据原理
Sep 27 PHP
详解no input file specified 三种解决方法
Nov 29 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
虹吸式咖啡壶操作
2021/03/03 冲泡冲煮
分页显示Oracle数据库记录的类之一
2006/10/09 PHP
我的论坛源代码(六)
2006/10/09 PHP
解析linux下安装memcacheq(mcq)全过程笔记
2013/06/27 PHP
IIS下PHP的三种配置方式对比
2014/11/20 PHP
PHP中imagick函数的中文解释
2015/01/21 PHP
浅谈json_encode用法
2015/03/05 PHP
win7安装php框架Yii的方法
2016/01/25 PHP
Yii2设置默认控制器的两种方法
2017/05/19 PHP
设定php简写功能的方法
2019/11/28 PHP
关于javascript event flow 的一个bug详解
2013/09/17 Javascript
jQuery选择器之基本选择器与层次选择器
2015/03/03 Javascript
JavaScript实现向OL列表内动态添加LI元素的方法
2015/03/21 Javascript
jQuery实现瀑布流布局详解(PC和移动端)
2020/09/01 Javascript
js仿百度音乐全选操作
2017/01/13 Javascript
javascript 中关于array的常用方法详解
2017/05/05 Javascript
简单说说如何使用vue-router插件的方法
2019/04/08 Javascript
vue+elementUI实现图片上传功能
2019/08/20 Javascript
Vue——解决报错 Computed property &quot;****&quot; was assigned to but it has no setter.
2020/12/19 Vue.js
简单了解OpenCV是个什么东西
2017/11/10 Python
python实现比对美团接口返回数据和本地mongo数据是否一致示例
2019/08/09 Python
Keras自动下载的数据集/模型存放位置介绍
2020/06/19 Python
Python读取yaml文件的详细教程
2020/07/21 Python
Django集成MongoDB实现过程解析
2020/12/01 Python
pycharm最新激活码有效期至2100年(亲测可用)
2021/02/05 Python
HTTP状态码详解
2021/03/18 杂记
酒店端午节促销方案
2014/02/18 职场文书
差生评语大全
2014/05/04 职场文书
生物科学专业毕业生求职信
2014/06/02 职场文书
公司授权委托书范文
2014/09/21 职场文书
关于长城的导游词
2015/01/30 职场文书
2015年仓库管理员工作总结
2015/04/21 职场文书
停课通知书
2015/04/24 职场文书
春节慰问简报
2015/07/21 职场文书
pytorch实现线性回归以及多元回归
2021/04/11 Python
详细聊聊vue中组件的props属性
2021/11/02 Vue.js