在移動終端,LBS大行其道,能同時給用戶和商家帶來極大的便利,但前提是能夠取到用戶當前的地理位置。本文總結的是取到用戶所處位置的方法,為后續的實現提供參考。
移動終端最大的優勢在于便攜、個人屬性強。也就是說不管走到哪,終端都會跟著我們,這就意味著我們可以獲取最適合自己的信息,比如說你當前的周邊有哪些商家在發布優惠券,或者你要出去玩,明天杭州的天氣是什么樣的~如果給你北京的,大多數情況下對你來說簡直是種負擔。上述的這些基于地理位置的信息服務就指LBS。生活中比比皆是,比哪車載導航、foursquare、街旁、點評、口碑…。
1 定位的精度
基于地理位置的客戶端有很多,當然,根據它要實現的功能不同,對于定位的精度也不同。有些定位到城市級別,如口碑wap版本;有些需要定位到街道級別,如一些公交點便民搜索;而有些要求更為精確,甚至到樓層級別,如一些商場給用戶的購物導航,告訴用戶你當前樓層,以后跟離你想要的商家的距離。
2 定位的實現方式
那如何來確定使用者的定位呢?這種定位的技術目前來說不是很多,主要分為以下幾種:
基于設備本身具備的定位功能,如有GPS功能的設備;
基于遠端服務器提供的定位功能,如常用的IP定位;
直接問用戶,你在哪兒?
2.1 GPS
GPS(全球定位系統)是人們最耳熟能詳的定位方式。它由美國研制,并由94年全面建成,它基于太空中的24顆軌跡衛星提供導航功能?,F在很多移動設備內置了GPS信號接收器,可以直接讀取衛星的數據來計算所處的位置,定位的精度在2米到100米之間。缺點是GPS定位往往需要的時間比較長,通信質量不好的情況下,可能需要數分鐘才能定位出用戶的位置。
2.2 A-GPS
這是一種輔助定位技術,一般是用于手機設備上。由于GPS定位是比較慢的,因此運營商們提供了一些輔助手段來幫助定位。主要是幫助手機找到比較好的衛星信號,或者直接在手機還沒獲取到信息信號之前給用戶一個精度較低的位置信息。
2.3 基站定位
由于電信運營商手上掌握著每一個基站的位置,因此只要手機能夠連上附近至少三個基站,運營商就能計算出手機用戶的位置。附近能夠連接上的基站越多,定位就越準確。
2.4 WIFI熱點定位
即使關了GPS,只通過WIFI訪問Google map,仍然可以定位所在的位置。這是因為Google采用了WIFI定位系統。它通過檢測設備上可以探測到的無線路由列表來進行定位。當然,前提是要有個全的WIFI數據庫。Google在采集街景的同時,也沿途搜刮了無線路由(包括公共熱點和私人無線路由器)。
2.5 IP定位
服務端可以通過讀取用戶請求里的IP信息來進行簡單的定位。其局限性如下:
服務端并不知道用戶是以哪種方式接入網絡的。如果是2G或者是3G接入,獲取的IP有可能是運營商的WAP網關地址;如果是固網接入,也有可能是運營商提供的一個IP段里的動態IP。
如果用戶使用了具有代理功能的瀏覽器,如UC、opera mini,服務端接收到的直接請求實際上是來自己于代理,可能跟用戶真實位置相跟半個中國。
因此,IP定位通常只是作為一種參考,用于猜測用戶可能來自于哪一個國家或者哪一個城市。
2.6 其它定位方式
由運營商提供用戶的位置。運營商可以在用戶到服務端的請求上附加一些額外的用戶信息,其中就可以包含位置信息。但是,運營商會憑啥要這么干?
由用戶請求中的accept-language來判斷,這種方式只能猜測用戶可能來自于哪個國家
2.7 直接詢問用戶
當以上方式都無法獲取時,最后一招是直接問用戶來自于哪里,這是精度很高的一種方式。只不過要考慮,在手機終端上用戶的輸入成本,要盡量可能地降低到最小。
列出熱門地標,供用戶選擇
提供基于城市名稱、首字母、區號等的搜索。
提供基于地標的模糊搜索。
取到這些以后,就可以把用戶的這些位置信息保存起來,如果發現用戶經常在這一帶活動,就可以根據該位置信息進行個性化的服務推送,如wap外賣的處理方式。
2.8 W3C Geolocation API
W3C制定了一個標準的方式通過JS來獲取地理位置信息,即Geolocation API。很多瀏覽器已經提供了對它的支持,其中包括3.5以后版本的firefox,3.0以后版本的ios mobile safari,2.0以后版本的android,具體如下圖,感謝技術同學的分享。

(編輯:小酷)
掃碼添加客服微信
掃碼關注公眾號
酷網(大連)科技有限公司
致力于為客戶品牌提供完善解決方案
統一服務電話:0411-62888851