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

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

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

原理

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>

參數說明:html

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

 

獲取位置信息步驟

1. 申請服務號認證

只有經過認證的服務號,纔可以獲取訪問微信高級服務的權限。git

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位置信息微信開發微信開發

相關文章
相關標籤/搜索