一、擷取使用者位址位置消息
使用者發送位置時的消息及格式如下

背景格式:
XML格式講解
百度地圖Place API 是一類簡單的HTTP接口,用于傳回查詢某個區域的某類POI資料,且提供單個POI的詳情查詢服務,使用者可以使用C#、C++、Java等開發語言發送HTTP請求且接收json、xml的資料。
Place API 提供區域檢索POI服務、POI詳情服務與團購資訊檢索服務、商家團購詳情查詢。區域檢索POI服務提供三種區域檢索方法:城市内檢索、矩形檢索、圓形區域檢索。
我們使用圓形區域檢索來實作附近搜尋功能。
place區域檢索POI服務接口如下:
http://api.map.baidu.com/place/v2/search
參數
是否必須
預設值
格式舉例
含義
location
是
無
38.76623,116.43213
lat<緯度>,lng<經度>
周邊檢索中心點,不支援多個點
radius(r)
否
2000
周邊檢索半徑,機關為米
q(query)
中關村、ATM、百度大廈
檢索關鍵字,周邊檢索和矩形區域内檢索支援多個關鍵字并集檢索,不同關鍵字間以$符号分隔,最多支援10個關鍵字檢索。如:”銀行$酒店”。
tag
日式燒烤/鐵闆燒、朝外大街
标簽項,與q組合進行檢索
output
xml
json或xml
輸出格式為json或者xml
scope
1
1、2
檢索結果詳細程度。取值為1 或空,則傳回基本資訊;取值為2,傳回檢索POI詳細資訊
filter
filter=industry_type:cater
|sort_name:price
|sort_rule:0
|price_section:100,200
|groupon:0
|discount:0
檢索過濾條件,當scope取值為2時,可以設定filter進行排序。
industry_type:行業類型
sort_name:排序字段
sort_rule:排序規則,取值如下:0:從高到低,1:從低到高;
price_section:價格區間;
groupon:是否有團購,1為有團購,0為無團購;
discount:是否打折,1為有打折,0為無打折;
page_size
10
範圍記錄數量,預設為10條記錄,最大傳回20條。多關鍵字檢索時,傳回的記錄數為關鍵字個數*page_size。
page_num
0、1、2
分頁頁碼,預設為0,0代表第一頁,1代表第二頁,以此類推。
ak
E4805d16520de693a3fe707cdc962045
使用者的通路密鑰,必填項。v2之前該屬性為key。
sn
使用者的權限簽名。
timestamp
設定sn後該值必填。
調用舉例如下:
百度地圖類定義如下
擷取附近的調用代碼如下:
計算兩坐标之間距離如下
對于使用者的坐标記錄,我們使用資料庫的方式來存儲,
如果使用者發送查詢指令,則直接查詢,
如果使用者發了位置,則進行更新
對于使用者發送的内容,先提取坐标,然後進行組合查詢
實作效果如下:
---------------------------------------------------------------------------------------------------------------------------