zoukankan      html  css  js  c++  java
  • 微信公众平台开发(85) 获取用户地理位置

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

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

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

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

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

    三、网页获取用户地理位置

    请参考 微信公众平台开发(106) 网页获取用户地理位置 一文。

  • 相关阅读:
    (转)typedef用法
    (转)在用户空间发生中断时,上下文切换的过程
    (转)内核中断,异常,抢占总结篇
    (转)中断上下文和进程上下文的区别
    (转)C中的volatile用法
    (转)gcc学习笔记
    (转)C系程序员面试必知必会之大端小端
    (转)我在北京工作这几年 – 一个软件工程师的反省
    (转)忠告
    Linux下VLAN功能的实现 (转)
  • 原文地址:https://www.cnblogs.com/txw1958/p/weixin--get-user-geographic-position.html
Copyright © 2011-2022 走看看