2010-06-23 53 views
7

我創建一個使用位置 -獲得iphone的位置 - 而不是WiFi網絡

的一切應用的工作原理順順當當除了一個東西─

當我回家我的iPhone連接到我的地方WiFi網絡,而不是讓我的位置使用手機中的GPS它試圖通過計算出我的WiFi網絡連接 - 如果我把我的無線網關它保持一個準確的位置點 -

儘快我的手機連接到我的無線網絡,它開始告訴我我的位置距離我的實際點數千米/英里。

我想我的應用程序不使用WiFi網絡,試圖讓我的位置 -

是有辦法,我能夠 - 一個。告訴如果一個位置點已經從GPS派生,所以我可以忽略從WiFi網絡派生的位置。 b。停止位置服務跳轉到無線網絡的位置

回答

2

除了要求用戶關閉他的Wifi,沒有文件記錄的方式,你可以強制位置管理器通過Wifi使用GPS。私有API可能是可能的,但這也會讓你從App Store中被拒絕。

+0

嘿戴夫 - 謝謝你的答覆 - 我害怕 - 我無法找到任何東西后沖刷淨希望有人有一個狡猾的方式做到這一點沒有應用商店拒絕 - 可能不得不做某種計算點之間的時間/距離,以查看新位置是否物理上不可行,但這將是一個相當糟糕的解決方案 - 乾杯,戴夫。 – dave 2010-06-23 14:39:30

1

你可以設置cLLocationAccuracy.desiredAccuracy = kCLLocationAccuracyBest,看看是否有這樣做。它應該儘量限制GPS的使用,但這不是100%保證。

+0

嘿jamone,謝謝你的回覆 - 是的,我已經設置爲最好的,但位置服務似乎偏好通過gps歡呼,戴夫wifi。 – dave 2010-06-23 14:40:58

-5

A-GPS = GPS +基站三角測量。沒有WI-FI定位。

+1

嘿,adrian,謝謝你的答覆 - 我的iPhone給我的位置和我的ipod一樣,而我的ipod沒有gps或cell接收 - 我假設我的iphone從同一個地方抓取位置,因爲我的ipod正在獲取它來自我 - 我應該注意到:我沒有在我家裏的電話接收(錫屋頂哈哈) - 歡呼,戴夫 - – dave 2010-06-23 14:44:47

+0

A-GPS只是意味着細胞信號可以用來加速GPS鎖定。它不會影響GPS的位置精度。是的,有WiFi位置也使用。 – jamone 2010-06-23 15:05:35

+0

@jamone你可以定義WI-FI嗎?請首先看看AGPS的含義,不要告訴我你的家庭WiFi路由器可以告訴你你在iPhone上的位置。而且......細胞三角測量法被用來做出更好的定位。 – 2010-06-23 15:21:33

5

嗯,我做了周圍

一些上場發現了一些蘋果的文檔,指出[location verticalAccuracy]需要與GPS設備。

所以我在(略)堅持這個代碼,並基於有限的測試中,我所做的一切,這似乎是在做我想要的東西:所有您的答覆

if (([location horizontalAccuracy] > 0) && ([location verticalAccuracy] > 0)){ 
    //report location here 
} 

感謝。

0

iPhone不僅通過Wi-Fi或移動網絡獲得不準確的GPS座標,而且還獲得精度等級> 100米的實際座標。

我用什麼來放線:if (newLocation.horizontalAccuracy < 0 || newLocation.horizontalAccuracy > 50) return;

didUpdateToLocation第一線,以過濾掉不準確的座標。

'位置年齡'即NSTimeInterval locationAge=[locTimestamp timeIntervalSinceNow];不適合我擺脫緩存的座標。

1

它在家中使用WIFI的原因是因爲它無法直接看到太空中的GPS衛星 - 而不是不給你任何位置數據,它使用下一個最佳的可用信號源。