簡體   English   中英

沒有互聯網時,用戶位置GPS坐標

[英]user location GPS coordinates when no internet

對於我的應用程序,當設備中沒有互聯網連接時,我需要訪問GPS緯度和經度坐標。 我使用CLLocation實現了這一點。 但是當我關閉設備locationmanager中的wifi和互聯網時

- (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error
{
    NSLog(@"didFailWithError %@", error);

}

我得到的錯誤是Error Domain = kCLErrorDomain Code = 0“操作無法完成”

一旦我獲得正確的用戶位置,當用戶從當前位置移動時如何刷新應用程序?

我已將本教程的代碼下載到http://www.vellios.com/2010/08/16/core-location-gps-tutorial/,但是卻遇到了相同的錯誤。

任何人都請讓我知道如何在離線,沒有互聯網的情況下實現GPS。 謝謝

位置服務如何確定位置的基礎Apple iOS使用三階段算法來確定您的位置:

  1. 輔助全球定位系統(A-GPS)

  2. 眾包Wi-Fi

  3. 蜂窩網絡搜索

這三個階段按優先級從高到低的順序使用。 換句話說,iOS首先嘗試使用GPS衛星鏈接來固定您的位置。 如果無法獲取衛星,則iOS將故障轉移到Wi-Fi。 如果您未連接到Wi-Fi局域網(WLAN),則iOS使用手機信號塔數據。 如果以上所有方法均失敗,則您將收到一條錯誤消息,如下圖所示。

輔助GPS(A-GPS)縮短了GPS客戶端設備獲取與衛星的連接所需的時間。 例如,在我等待Garmin GPS訓練表連接到衛星時,有時我的晨跑有時會延遲幾分鍾。 想象一下,等幾分鍾讓您的iPhone建立GPS連接將是多么痛苦!

本質上,您的iDevice會緩存衛星數據的定期快照,以加快連接時間。 顯然,當您在外面並且遠離干擾源(例如高樓大廈或車輛內部)時,您將觀察到最出色的GPS性能。

眾包Wi-Fi意味着您的iDevice再次緩存信息,不僅緩存有關您當前連接的WLAN的信息,還緩存有關設備范圍內的任何其他WLAN的信息。 通過在本地存儲WLAN服務集標識符(SSID)和媒體訪問控制(MAC)地址信息,這使得iOS定位服務可以通過三角測量更快地定位您的位置。

這個想法是,如果iOS檢測到您已連接到家庭WLAN,並且已經具有該位置的全球定位坐標,則定位服務可以顯示您的位置,而無需通過GPS連接或Wi-Fi三角測量。

蜂窩網絡搜索再次涉及“三角測量”的概念,這次是在iOS中,使用有關附近蜂窩塔的緩存信息。 順便說一句,三角剖分是一種幾何原理,它通過從固定基線任一端的已知點測量與該角度的角度來確定該點的位置。 例如,iOS可以通過測量iDevice與附近多個手機發射塔之間的距離來估算您的位置。

你有嘗試過嗎?

[locationManager setDistanceFilter:kCLDistanceFilterNone];
[locationManager setDesiredAccuracy:kCLLocationAccuracyBest];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM