1. 程式人生 > >無限制獲取GPS對應地址的一種方法

無限制獲取GPS對應地址的一種方法

市面上基本沒有免費獲取地理位置的方法,特別是對實時性要求比較高的情況下,基本上都是付費服務。

本文使用Google地圖API,在實時性要求不太高的情況下,能夠不斷獲取GPS對應地址位置資訊。

原理

呼叫Google地圖API

http://maps.google.cn/maps/api/geocode/json?latlng=lat,lng

返回的資料為5條距離該GPS最近的地表資訊,第一條一般為距離最近的建築物資訊。我們獲取的資訊為:formatted_address,即為格式化的地址資訊。樣例:

中國浙江省嘉興市南湖區鳳啟路98號

可以看出,該地中具有國家、省份、城市、區縣、路名、具體位置等資訊,完全符合我們的實際需求。

測試結果

本文作者,通過隨機生成的30萬條GPS資料測試,發現能夠獲取最終結果,並不會存在獲取不到的情況。

通常情況下,該API獲取的內容存在狀態欄位,即:status欄位。一般為“OK”,即爬去成功的,其他狀態一般是請求出錯、併發異常等內容引起的。

1、該API對併發存在一定要求,因此無法大量、頻繁併發獲取內容;
2、比較好的一個方法是,通過高匿代理來獲取API資訊,每個代理使用幾個執行緒,這樣能夠達到快速、高頻併發的要求。