讀古今文學網 > Android程序設計:第2版 > 基於地理位置的服務 >

基於地理位置的服務

手機會單獨使用某種方式或組合多種方式來確定地理位置。

Cell ID

不管你是否真正在通話,只要開了機,你的手機就在不斷向附近的信號發射塔發射信號。這樣當有人給你電話時,你的手機才能夠接收到呼叫,因此每隔幾秒鐘它就會ping一下上一次連接的信號塔,告訴該信號塔手機還在其範圍內,並記錄一系列網絡參數,如當前時間、當前信號強度(上行和下行,uplink and downlink)等。

當你移動時,你的手機可能會發起請求,請求被移交給另一個信號塔,這些操作都是後台執行的,不需要你干預。全世界每個信號塔都有唯一的標識符,稱為Cell ID,每個信號塔能夠辨別其經度和維度,因此只要知道手機當前所屬Cell ID的地理位置,就能夠很容易知道你的大體位置。信號網絡覆蓋的範圍的大小取決於所在區域期望的流量,在美國,其範圍從0.5英里(城市)到5英里甚至更多(取決於空間的開闊程度)。

三角區(Triangulation)

大部分時候,手機是在多個信號塔的範圍內。在2G以及更新的移動通信技術中,信號塔能夠識別手機信號的來源方向。如果有兩三個信號塔都識別出了手機的位置,那麼將它們的信息綜合在一起就可以基於三角測量原理定位出手機的地理位置。通過某些操作符,手機可以向網絡發送查詢請求,查詢自己的地理位置。這聽起來有些落後,但是其定位卻是非常準確的,並且不需要在手機上安裝任何額外的硬件。

全球定位系統

基於衛星的全球定位系統(GPS)當今已經無處不在,它被廣泛集成在汽車導航設備、手持導航儀及手機中。好消息是使用GPS,移動手機可以非常準確地定位其位置,包括其高度,這對於某些應用是很重要的。儘管GPS也有一些缺點,但是它依然越來越普及。GPS的幾個缺點是:

成本增加

GPS無線電和處理器都相當便宜,但是,對於手機成本,增加10美元也是相當可觀的。

減少電池續航時間

在減少GPS無線電和處理器消耗的電源方面已經有了很大的進步,但是它們依然相當耗電。大多數包含GPS的手機都有一個功能,支持用戶打開或關閉GPS。如果你的應用需要GPS的精確度,那麼最好要記得檢查GPS設備是否已經開啟,如果沒有開啟,就需要通知用戶。

不可靠性

沒有什麼「總是能夠正常工作的」,而GPS更是如此,它依賴於移動設備能夠看到的當前的衛星。如果你是在高層建築的地下室,被鋼筋混泥土包圍著,則你很可能無法使用GPS。

期望所有的Android手機都能夠包括一個或多個地理位置查找方法是合情合理的。大多數最新的Android手機,都支持這些定位方式。因此,接下來我們將一起繼續探討如何使用這些定位技術。