网站地图    收藏   

主页 > 后端 > 微信开发 >

方倍微信公众平台开发(85) 获取用户地理位置 -

来源:自学PHP网    时间:2015-04-14 12:58 作者: 阅读:

[导读] 本文介绍在微信公众平台上如何使用高级接口开发获取用户地理位置的功能。一、获取用户地理位置接口开通了上报地理位置接口的公众号,用户在关注后进入公众号会话时,会弹框让...

本文介绍在微信公众平台上如何使用高级接口开发获取用户地理位置的功能。

一、获取用户地理位置接口

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

用户同意上报地理位置后,每次进入公众号会话时,都会在进入时上报地理位置,上报地理位置以推送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

地理位置精度

 

二、程序接收用户地理位置坐标

地理位置是一个事件消息,在方倍工作室的微信公众平台PHP SDK中,增加位置信息判断,然后获取用户的纬度和经度。

private function receiveEvent($object)
{
    $contentStr = "";
    switch ($object->Event)
    {
        case "subscribe":
            $contentStr = "欢迎关注方倍工作室";
            break;
        case "LOCATION":
            $contentStr = "纬度 ".$object->Latitude." 经度".$object->Longitude;
            break;
        default:
            break;
    }
    $resultStr = $this->transmitText($object, $contentStr);
    return $resultStr;
}

也可以把位置信息存到数据库,这样方便以后分析。

 

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论