微信公眾平臺開發(85) 獲取使用者地理位置
阿新 • • 發佈:2019-02-11
本文介紹在微信公眾平臺上如何使用高階介面開發獲取使用者地理位置的功能。
一、獲取使用者地理位置介面
開通了上報地理位置介面的公眾號,使用者在關注後進入公眾號會話時,會彈框讓使用者確認是否允許公眾號使用其地理位置。彈框只在關注後出現一次,使用者以後可以在公眾號詳情頁面進行操作。
使用者同意上報地理位置後,每次進入公眾號會話時,都會在進入時上報地理位置,上報地理位置以推送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; }
也可以把位置資訊存到資料庫,這樣方便以後分析。
====================================================================
方倍工作室微信公眾平臺賬號關注方法:
1. 微信通訊錄-新增朋友-查詢公眾號-搜尋“方倍工作室”
2. 微信通訊錄-新增朋友-搜號碼-輸入“pondbaystudio”
3. 使用微信掃描下面的二維碼