手機(jī)基站定位
每個(gè)手機(jī)基站都有一個(gè)標(biāo)識(shí)符砂心,iPhone或3G iPad可以搜集周圍所有收到信號(hào)的基站和它們的標(biāo)識(shí)符募胃,通過(guò)聯(lián)網(wǎng)發(fā)送到蘋果云端服務(wù)器此疹,再由服務(wù)器根據(jù)這些基站的的位置信息查詢并計(jì)算出當(dāng)前位置末誓,然后返回給手機(jī)拷恨。因?yàn)榛拘盘?hào)輻射范圍大舔亭,所以誤差也大些膨,在500米 ~ 幾公里.
定位速度最快, 耗電最少,誤差幾百上千米.
傳統(tǒng)的基站定位需要連接云端服務(wù)器钦铺,產(chǎn)生網(wǎng)絡(luò)流量订雾,iOS 4對(duì)其進(jìn)行了優(yōu)化,可以在沒(méi)有網(wǎng)絡(luò)連接時(shí)支持無(wú)網(wǎng)定位矛洞,因?yàn)樘O果預(yù)先已經(jīng)將一些重要基站(幾十公里選一個(gè))提前存儲(chǔ)在iOS系統(tǒng)中洼哎,在無(wú)網(wǎng)情況下竭翠,不用上網(wǎng)也能通過(guò)這些本地基站信息定位到用戶位置劳较,但這個(gè)誤差范圍更大,在10公里到50公里噪舀。
無(wú)網(wǎng)基站定位的前提是:您的手機(jī)能接受到內(nèi)置在手機(jī)中的那些“重要基站”的信號(hào)擅威,不一定是您手機(jī)所屬運(yùn)營(yíng)商壕探,只要能收到信號(hào)就可以了。
和基站定位原理差不多, iOS設(shè)備(或者M(jìn)ac電腦)通過(guò)無(wú)線網(wǎng)卡手機(jī)周圍所有的WIFI熱點(diǎn)(不需要連接上郊丛,只需要有信號(hào)就行)李请,獲得它們的MAC地址瞧筛,然后到蘋果云端服務(wù)器查詢這個(gè)熱點(diǎn)是否已經(jīng)登記,登記的話它的位置是多少导盅,最后通過(guò)計(jì)算(多個(gè)熱點(diǎn)折中)得到當(dāng)前位置并返回給用戶较幌。只要收到手機(jī)信號(hào)的地方都可以基站定位,所以室內(nèi)室外一樣白翻。
WIFI定位速度乍炉、耗電和精度都介于基站和GPS之間,精度大概在幾十米滤馍。(注意岛琼,WIFI定位的支持范圍沒(méi)有基站定位廣,但是蘋果的云端服務(wù)器一直在不斷增加新的熱點(diǎn)信息巢株,使得熱點(diǎn)定位支持的地區(qū)越來(lái)越多)
無(wú)網(wǎng)WIFI定位:傳統(tǒng)的WIFI定位需要網(wǎng)絡(luò)槐瑞,但是iOS對(duì)其進(jìn)行了優(yōu)化,可以實(shí)現(xiàn)無(wú)網(wǎng)WIFI定位阁苞。原理時(shí)iOS設(shè)備在您有網(wǎng)絡(luò)連接時(shí)困檩,會(huì)大致定位出您的位置,并自動(dòng)下載您所在地區(qū)周圍(幾個(gè)街區(qū)寬度或者更多)所有的WIFI熱點(diǎn)的信息到本地那槽。之后悼沿,當(dāng)您在周圍行走并WIFI定位的時(shí)候,即使沒(méi)有網(wǎng)絡(luò)倦炒,iOS照樣可以利用之前下載的WIFI熱點(diǎn)信息定位出您的位置显沈。
這也是為什么有人號(hào)稱WIFI無(wú)網(wǎng)可定位的原因,但注意:無(wú)網(wǎng)WIFI定位的前提是您在這個(gè)區(qū)域附近曾經(jīng)成功上過(guò)網(wǎng)逢唤,如果初次到一個(gè)陌生的地方,是無(wú)法定位的哦涤浇。
關(guān)于自動(dòng)下載的熱點(diǎn)個(gè)數(shù)和范圍鳖藕,這個(gè)是蘋果根據(jù)當(dāng)?shù)責(zé)狳c(diǎn)的密度動(dòng)態(tài)決定的,當(dāng)?shù)責(zé)狳c(diǎn)很多時(shí)(如市中心)只锭,可能只下載幾條街道范圍的所有熱點(diǎn)著恩,當(dāng)?shù)責(zé)狳c(diǎn)密度很小時(shí)(例如海濱城市),可能會(huì)下載整個(gè)城市的所有熱點(diǎn)蜻展。
這個(gè)是美國(guó)軍方搞的, 軍民兩用, 但仍然完全受軍方控制(比如可以隨時(shí)隨地設(shè)置某個(gè)地區(qū)收到的信號(hào)與否及其精度), 其原理就是:利用天上的衛(wèi)星(共24顆)不斷地廣播信號(hào), 地面的GPS接收設(shè)備收到信號(hào)后, 通過(guò)分析多個(gè)衛(wèi)星信號(hào)喉誊,就可以計(jì)算出地球坐標(biāo), GPS保證全球任何一個(gè)地方(98%)都可以同時(shí)收到至少4個(gè)衛(wèi)星的信號(hào), 從而可以準(zhǔn)確確定您的經(jīng)緯度以及海拔位置. GPS定位精度可達(dá)10米以內(nèi), 不過(guò)這是美國(guó)軍方控制的, 戰(zhàn)爭(zhēng)時(shí)期可能變的不穩(wěn)定或者誤報(bào). (不過(guò)我國(guó)也有自己的系統(tǒng), 北斗系統(tǒng), 目前已經(jīng)亞洲的覆蓋, 還在推廣中)
衛(wèi)星定位必須要能收到衛(wèi)星信號(hào),因?yàn)樾l(wèi)星信號(hào)都是很微弱的纵顾,雖然iPhone 4開(kāi)始提升了GPS硬件的靈敏度伍茄,但仍然需要在窗戶旁,或者戶外使用施逾,才能確保衛(wèi)星信號(hào)的強(qiáng)度和穩(wěn)定性敷矫。
與基站定位和WIFI定位相比例获,GPS耗電最大,速度最慢曹仗,但是精度最高榨汤。
而iPhone的GPS與純粹的GPS定位不同, 稱為A-GPS, 即輔助GPS.(比GPS更優(yōu),不過(guò)GPS也分芯片和性能的怎茫,不是說(shuō)所有的AGPS比所有的GPS都好)
因?yàn)镚PS定位中最耗時(shí)收壕、最耗電的就是獲取當(dāng)前天上的衛(wèi)星信息,哪些衛(wèi)星可見(jiàn)轨蛤、在什么位置蜜宪、時(shí)鐘是多少等等,這個(gè)過(guò)程可能花費(fèi)數(shù)十秒甚至幾分鐘俱萍,而AGPS就是利用網(wǎng)絡(luò)端壳,首先將基站定位或者WIFI定位獲得的大概位置發(fā)到遠(yuǎn)程服務(wù)器,有服務(wù)器進(jìn)行查詢和計(jì)算枪蘑,得出這個(gè)位置下當(dāng)前衛(wèi)星信息损谦,反饋給iOS設(shè)備,iOS設(shè)備就可以直接用這些信息來(lái)接受衛(wèi)星信號(hào)岳颇,不用自己去掃描分析了照捡。這樣可以極大提高定位速度,將初次定位時(shí)間縮短到1~2秒完成话侧。
A-GPS優(yōu)點(diǎn)是定位快栗精,缺點(diǎn)是需要網(wǎng)絡(luò),但也只是在初次定位時(shí)需要網(wǎng)絡(luò)瞻鹏,因?yàn)橐坏┬l(wèi)星信息返回悲立,在有限時(shí)間和范圍內(nèi),這些信息無(wú)須改變新博,之后的GPS定位就不再需要聯(lián)網(wǎng)薪夕,都是直接用這些衛(wèi)星參數(shù)接受信息了。
可見(jiàn)iOS定位依然有三種方式赫悄,但是一般使用都是Core Location框架原献,然后用CLLocationManager類來(lái)實(shí)現(xiàn)定位,那到底內(nèi)部是用的哪種定位方式呢埂淮?還是系統(tǒng)自己分配姑隅?
系統(tǒng)會(huì)自動(dòng)分配的 而且還會(huì)有緩存
iOS設(shè)備能提供3種不同途徑進(jìn)行定位:Wifi, 蜂窩式移動(dòng)電話基站, GPS衛(wèi)星
iOS 不像Android系統(tǒng)在定位服務(wù)編程時(shí),可以指定采用哪種途徑進(jìn)行定位倔撞。iOS的API把底層這些細(xì)節(jié)屏蔽掉了讲仰,開(kāi)發(fā)人員和用戶并不知道現(xiàn)在設(shè)備是采用 哪種方式進(jìn)行定位的,iOS系統(tǒng)會(huì)根據(jù)設(shè)備的情況和周圍的環(huán)境误窖,采用一套最佳的解決方案叮盘。這個(gè)方案是這樣的秩贰,如果能夠接收GPS信息,那么設(shè)備優(yōu)先采用 GPS定位柔吼,否則采用Wifi或蜂窩基站定位毒费,在Wifi和蜂窩基站之間優(yōu)先使用Wifi,如果無(wú)法連接Wifi才使用蜂窩基站定位愈魏。
總體來(lái)說(shuō)GPS定位優(yōu)點(diǎn)是準(zhǔn)確觅玻、覆蓋面廣闊,缺點(diǎn)是不能被遮擋(例如:在建筑物里面收不到GPS衛(wèi)星信號(hào))培漏、GPS開(kāi)啟后比較費(fèi)電溪厘。蜂窩基站不僅誤差比較大,而且會(huì)耗費(fèi)用戶流量費(fèi)牌柄。而Wifi定位是最經(jīng)濟(jì)實(shí)惠的畸悬。