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

5年以前  |  阅读数:1046 次  |  编程语言:PHP 

在微信公众服务号开发需求中经常有获取用户位置信息的功能,通过用户的位置信息,可以做一些地图导航,以及基于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分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例