定位服務1

2021-07-04 16:46:42 字數 3342 閱讀 5840

ios

裝置支援的定位方式有多種,最早期的

iphone

只支援通過運營商的基站訊號進行定位,後來

ios系統開始引入

wifi

支援,從而允許

ios裝置通過周圍的

wifi

訊號進行定位。 從

iphone 3g

開始,iphone

手機提供了內建的

gps模組處理晶元,從而允許通過

gps衛星系統進行定位。從

iphone 4

開始,iphone

手機更換了精確度更高、耗電量更少、靈敏度更高的晶元,因此可以使用

gps進行精確定位。

下面先簡單介紹

ios定位支援的

3種模式。

gps是英文

global positioning system

(全球定位系統)的簡稱,

gps是

20世紀

70年代由美國陸海空三軍聯合研製的新一代空間衛星導航定位系統。從這個介紹不難發現,

gps的作用就是為全球的物體提供定位功能。

gps定位系統由

3部分組成,即由

gps衛星組成的空間部分、若干地面站組成的控制部分和普通使用者手中的接收機這

3個部分。對於手機使用者來說,手機就是

gps定位系統的接收機,也就是說,

gps定位需要手機的硬體支援

gps功能。

gps定位需要能收到衛星訊號才行,衛星訊號可能會被建築物(比如高樓)遮擋,因此一般需要在室外進行接收、定位。雖然

iphone 4

採用了高靈敏度的

gps晶元,但仍然需要在窗戶旁或者戶外才能進行接收、定位,因為只有這些地方才能確保衛星訊號的強度和穩定性。

與基站定位、

wifi

定位相比,

gps定位耗電量最大,速度最慢,但是精度最高。

需要說明的是,

ios的

gps定位與單純的

gps定位不同,它是一種所謂輔助

gps(簡稱

a-gps

)。a-gps

首先通過基站定位或

wifi

定位獲得該裝置的大概位置,然後通過將裝置的大致位置發到遠端伺服器,由伺服器負責進行查詢和計算,從而獲取當前位置的衛星資訊,並通過網路將這些衛星資訊反饋給

ios裝置,這樣就避免了

ios裝置直接通過

gps掃瞄、分析天上的衛星資訊,如哪些衛星可見、具體在什麼位置、時鐘是多少等。因此,通常來說

a-gps

比單純的

gps更快。當然,這只是一般而論,對於專業級的

gps定位裝置,其

gps晶元的靈敏度可能更好,因此這種

gps定位裝置肯定更快。

a-gps

的優點是定位快,缺點是需要網路,但也只是在初次定位時需要網路,一旦衛星資訊返回,在一段時間和範圍內,這些衛星資訊無須改變,接下來的

gps定位就無須聯網,直接使用已有的衛星引數即可。 在

ios裝置上,

ios系統會綜合使用上述定位方式。一般來說,

ios系統可能先按照最快的「無網基站定位」返回乙個位置,當有網路連線時,再使用「有網基站定位」來更新位置,然後利用

a-gps

查詢衛星星圖,最後在能收到

gps訊號的情況下,轉為使用

gps定位。

根據當前衛星訊號情況和網路環境,

ios系統可能在上述方式之間反覆迭代,不一定按照特定步驟或方式,而且隨著

ios系統公升級,定位順序和規則可能改變。

每個手機基站都有乙個識別符號,

ios裝置可以蒐集周圍所有收到訊號的基站和它們的識別符號,通過聯網傳送到蘋果雲端伺服器,再由伺服器根據這些基站的位置資訊查詢並計算出當前位置,然後把該定位資訊返回給手機。因為基站訊號的輻射範圍大,所以相對來說誤差是比較大的,通常在

500公尺到幾公里範圍內。

基於基站定位的方式具有速度快,耗電量比較少,但誤差較大的特徵。

在沒有網路的情況下,

ios 4

對其進行了優化,可以在沒有網路連線時採用無網定位,因為

已經預先將一些重要基站(幾十公里選乙個)提前儲存在

ios系統中,因此即使不聯網,

ios系統也可通過這些本地基站資訊定位到裝置的位置。這種定位方式的誤差更大,通常在

10公里到

50公里範圍內。

無網基站定位的前提是:

ios裝置能接收到內建在手機中的那些「重要基站」的訊號,不一定是你的手機所屬運營商,只要能收到訊號就可以了,所以室內、室外一樣都可以進行基站定位。

wifi

定位和基站定位的原理大致相似,

ios裝置通過無線網絡卡蒐集周圍所有的

wifi

熱點,獲得它們的

mac位址,然後通過

的雲端伺服器查詢該

wifi

熱點是否已經登記,如果已經登記,即可獲取該

wifi

熱點的位置,最後通過對多個

wifi

熱點折中計算得到當前位置並返回給

ios裝置。

只要能收到手機訊號的地方都可通過

wifi

定位,室內、室外的效果相同。

wifi

定位速度、耗電量和精度都介於基站和

gps之間,精度大概在幾十公尺範圍內。

傳統的wifi

定位是需要網路的,但是

ios系統對其進行了優化,可以實現無網

wifi

定位。無網

wifi

定位的原理是:

ios裝置在聯網狀態下,會大致定位出裝置的位置,並自動將裝置所在地周圍所有的

wifi

熱點資訊儲存在手機系統中。在接下來的時間內,即使當前

ios裝置沒有聯網,

ios系統也可以利用之前儲存的本地的

wifi

熱點資訊定位出裝置的位置。

根據無網

wifi

定位的原理不難看出,無網

wifi

定位的前提是:該

ios裝置之前在該區域附近曾經接入過網路,如果初次到乙個陌生的地方,無網

wifi

是無法定位的。

ios系統在進行定位時已將底層具體的定位細節進行了遮蔽——也就是說,這些定位細節對開發者而言是透明的,

ios系統會智慧型地根據裝置的情況和周圍的環境,採用一套最佳的解決方案。例如能夠接收

gps訊號,那麼優先使用

gps定位;否則採用

wifi

或基站定位,在

wifi

和基站之間優先使用

wifi

,如果無法連線

wifi

才使用基站定位。

IOS 定位服務

ios中的core location提供了定位功能,能定位裝置的當前座標,同時能得到裝置移動資訊。因為對定位裝置的輪詢是很耗電的,所以最好只在非常必要的前提下啟動。其中,最重要的類是cllocationmanager,定位管理。其定位有3種方式 1,gps,最精確的定位方式,貌似iphone1是不支...

iOS 定位服務

過年後第一次來上班,那麼我們來說說ios上的定位服務 首先說定位共分三種方法,第一利用wifi,第二是移動蜂窩網路,第三是利用gps 然後是ipod touch上是不具備gps模組的,所以不能利用gps進行定位 最後想說的是,因為老闆不相信iphone可以利用gps,所以下面的例子可以在關閉wifi...

android 定位服務

目前,對於定位主要有三種實現方式 通過網路 基站和gps來獲取到所有玩家的經緯度,然後傳送給伺服器計算,以此來實現附近的人資訊展示功能。最開始做的時候,使用了android自帶的定位服務 locationmanager locationmanager locationmanager getsyste...