微信公众平台开发(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) 网页获取用户地理位置 一文。

目录
相关文章
|
小程序 PHP
微信公众号开发(一)打通服务器与微信之间的通信
说来惭愧PHP做了这么久,好像就没有从头开发过一个微信公众号,这次刚好有机会从头接入开发一个完整的公众号,也不能说完整,但是这些微信的接口我基本上都试一试~看看大概是什么情况。 首先:打通服务器与微信之间的通信。
153 0
|
8月前
|
开发者
微信公众平台开发基本配置
微信公众平台开发基本配置
183 0
|
6月前
|
小程序 定位技术
微信小程序实战——获取用户地理位置信息
微信小程序实战——获取用户地理位置信息
113 0
|
7月前
|
Java API
java进行微信公众号开发
java进行微信公众号开发
171 0
|
8月前
|
人工智能 Python
【Python + 微信】微信公众号开发避坑指南
【Python + 微信】微信公众号开发避坑指南
144 0
|
8月前
|
XML 安全 Java
如何开发微信公众号后台
如何开发微信公众号后台
197 0
|
8月前
|
移动开发 JavaScript
微信公众号H5开发,在微信浏览器打开H5,无法一键下载图片
微信公众号H5开发,在微信浏览器打开H5,无法一键下载图片
320 0
|
8月前
|
小程序 JavaScript 定位技术
微信小程序自动获取地理位置
微信小程序自动获取地理位置
70 0
|
8月前
|
XML Go 数据格式
【微信公众号开发】基于golang的公众号开发——接入消息自动回复接口
【微信公众号开发】基于golang的公众号开发——接入消息自动回复接口
452 0
|
小程序 PHP 开发者
微信公众号开发(八)生成带参数二维码,以及将二维码下载至本地
微信的二维码真是个神奇的东西。在我们开发中,应用也是很多~ 用户扫描带场景值(参数)二维码时,可能推送以下两种事件:
447 1