Graent.Hu 的博客

新浪微薄腾讯微薄

最新碎语:最近感觉有些迷茫,怎么办~

您的位置:Graent.Hu 的博客 >微信> 微信获取用户的地理位置的经纬度信息

微信获取用户的地理位置的经纬度信息

点击查看服务详细开通了上报地理位置接口的公众号,用户在关注后进入公众号会话时,会弹框让用户确认是否允许公众号使用其地理位置。弹框只在关注后出现一次,用户以后可以在公众号详情页面进行操作。

获取用户地理位置

用户同意上报地理位置后,每次进入公众号会话时,都会在进入时上报地理位置,上报地理位置以推送XML数据包到开发者填写的URL来实现。

推送XML数据包示例:



<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>123456789</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[LOCATION]]></Event>
<Latitude>23.137466</Latitude>
<Longitude>113.352425</Longitude>
<Precision>119.385040</Precision>
</xml>

参数说明:

参数 描述
ToUserName 开发者微信号
FromUserName 发送方帐号(一个OpenID)
CreateTime 消息创建时间 (整型)
MsgType 消息类型,event
Event 事件类型,LOCATION
Latitude 地理位置纬度
Longitude 地理位置经度
Precision 地理位置精度
直接在程序里面使用就可以了,解析xml数据转换成数组之后,就可以直接使用例如下面:



            $eventStr = strtolower($data['Event']);
            switch ($eventStr){
                case 'location':
                    # 处理获取失败的情况,赋值为0
                    $longitude = isset($data['Longitude']) ? $data['Longitude'] : 0;
                    $ltitude = isset($data['Latitude']) ? $data['Latitude'] : 0;
                    $precision = isset($data['Precision']) ? $data['Precision'] : 0;
                    # 用户上报地理位置
                    $locationInfo = array($longitude, $ltitude, $precision);#经度,纬度,精度
                    #
                    echo serialize($locationInfo);
                    break;

……


我的微信:graent_hu

欢迎扫码加我的微信好友,有什么问题我们可以一起探讨,有什么需要也随时欢迎发消息给我~

转载请注明出处:

本文标题:微信获取用户的地理位置的经纬度信息

本文链接:https://www.wlyc.cn/post-9.html

发表评论

路人甲 表情
看不清楚?点图切换