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