微学网

热门关键词:   as  thinkphp  ecshop  xxx  php分页  商务通
热门: ASP.NET PHP编程 ASP编程 JSP编程 Python

微信公众平台开发之获取用户地理位置的方法

发布时间:2019-12-21 来源:未知 点击:

获取用户地理位置,你需要在微信公众平台开发者中心开启上报地理位置接口功能,开启之后会在用户首次进入公众号时,弹出是否允许上报地理位置选项,如果选择允许则在用户每次进入公众号会话的时候微信会以xml形式将用户的地理位置上报到你开发者中心填写的url上。

注意:用户地理位置是被动获取的,需用户同意后才会上报,微信公众平台开发不能主动获取用户地理位置。

先看看官方给出的xml示例及解析。

推送XML数据包示例:

  1.  
    <xml>
  2.  
    <ToUserName><![CDATA[toUser]]></ToUserName>
  3.  
    <FromUserName><![CDATA[fromUser]]></FromUserName>
  4.  
    <CreateTime>123456789</CreateTime>
  5.  
    <MsgType><![CDATA[event]]></MsgType>
  6.  
    <Event><![CDATA[LOCATION]]></Event>
  7.  
    <Latitude>23.137466</Latitude>
  8.  
    <Longitude>113.352425</Longitude>
  9.  
    <Precision>119.385040</Precision>
  10.  
    </xml>
参数说明:

 

 

下面来记录用户的地理位置信息到数据库.

首先引用Wechat SDK,

若对Wechat SDK不了解的,请点击查博客中对Wechat SDK详情。

use  Com\Wechat;

将数据插入数据库

  1.  
    public function index(){
  2.  
    $agent = $_SERVER['HTTP_USER_AGENT'];
  3.  
    if(!strpos($agent,"MicroMessenger")) {
  4.  
    echo '只能在微信浏览器中使用';
  5.  
    exit;
  6.  
    }
  7.  
     
  8.  
    $token = '7894578953485348944qwe'; //微信后台填写的TOKEN
  9.  
    /* 加载微信SDK */
  10.  
    $wechat = new Wechat($token);
  11.  
    /* 获取请求信息 */
  12.  
    $data = $wechat->request();
  13.  
    if($data && is_array($data)){
  14.  
    M('wxuser_location')->add($data);
  15.  
    //此处为写入数据库操作,至于数据库结构,数据定入操作根据你的系统决定
  16.  
    }
  17.  
    }

保存到数据库中结果如下,

这就把用户的地理位置数据记录下来了,以后如果需要根据用户地理位置推送某些消息(如附近的门店),就可以在数据库中查询用户的最近的一次地理位置信息来推送了,如你的微信菜单上有一个按钮叫做“附近门店”,就可以把这个地理位置再匹配你门店地理位置选择性的向用户推送,这个留在下一节来讲,敬请关注。


这就是微学网-程序员之家为你提供的"微信公众平台开发之获取用户地理位置的方法"希望对你有所帮助.本文来自网络,转载请注明出处:http://www.weixuecn.cn/article/7398.html
网络编程 | 前端制作 | 数据库 | CMS教程 | 脚本编程 | 框架 | 微信公众号 | 小程序 | 服务器 | APP开发 |

凡本网站转载的文章、图片等资料的版权归版权所有人所有,因无法和版权所有者一一联系,如果本网站选取的文/图威胁到您的权益,请您及时和本网站联系。 我们会在第一时间内采取措施,避免给双方造 成不必要的损失。
© 2015-2018 微学网 版权所有,并保留所有权利。 备案号:粤ICP备09051474号-1

电脑版 | 移动版