微信服務號開發-獲取用戶位置信息


微信服務號開發-獲取用戶位置信息

在微信公眾號開發的中,獲取用戶位置信息是非常常見的功能需求,通過用戶的位置信息,可以做一些地圖導航,以及基於LBS的營銷活動。
下面將介紹微信服務號獲取用戶位置信息的原理與步驟。

原理

1. 位置信息獲取流程

流程圖

2. 位置信息報文

<xml><ToUserName><![CDATA[gh_public_member_account]]></ToUserName>
<FromUserName><![CDATA[oNEGGwGfl8f5xMEqVHToL63LDL40]]></FromUserName>
<CreateTime>1444035882</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[LOCATION]]></Event>
<Latitude>28.701618</Latitude>
<Longitude>115.818817</Longitude>
<Precision>30.000000</Precision>
</xml>

參數說明:

參數 描述
ToUserName 開發者微信號
FromUserName 發送方帳號(一個OpenID)
CreateTime 消息創建時間 (整型)
MsgType 消息類型,event
Event 事件類型,LOCATION
Latitude 地理位置緯度
Longitude 地理位置經度
Precision 地理位置精度

 

獲取位置信息步驟

1. 申請服務號認證

只有通過認證的服務號,才能夠獲取訪問微信高級服務的權限。

2. 開啟用戶位置信息獲取功能

開發者中心 -> 獲取用戶地理位置

獲取用戶地理位置

3. weiPHP地理位置信息消息處理。

1. 配置微信服務號開發接口

設置SP服務器接口
微信服務器將會把用戶與微信之間的交互事件消息,通過此接口推送給SP服務器。

2. 在WeixinController的IndexAction中處理location消息。

將xml消息轉化為php數組,然后取出經緯度信息,以備使用。

 

$content = file_get_contents ( 'php://input' );
$data = new \SimpleXMLElement ( $content );
foreach ( $data as $key => $value ) {
    $this->data [$key] = strval ( $value );
}
// to use data["longitude"]; data["latitude"].

 

 

LOCATION位置信息微信開發


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM