2011-04-26 129 views
5

hai 我們可以知道當前位置而不使用gps嗎?可能嗎?不使用gps的當前位置

+0

的文檔,我認爲沒有......你不能...... – 2011-04-26 06:27:33

回答

0

iPod Touch可以做到這一點。它沒有GPS芯片,而是使用該地區的可用WiFi網絡來粗略瞭解您所在的位置。

2

試試這個

map.showsUserLocation = YES; 

地圖是我的MKMapView對象。

4

是的,CoreLocation可以通過附近的手機塔架對您的位置進行三角測量,但位置不會像GPS那樣精確。此外,它可以通過附近的WLAN獲得您的位置,但這更不可靠。

2

那麼這是一個非常廣泛和非常普遍的問題。如果你正在講手機,你可以使用三塔三角測量法,當你同時擊中三個塔時是很好的,但是如果你只擊中一個,那麼誤差可能會達到幾公里。

現在,如果你正在談論互聯網訪問設備(即有IP地址的東西),事情就會變得危險。如果您使用的是固定接入點,則使用最近知名的集線器可以近距離接近設備所在的IP範圍。帶有IP的移動設備確實很難查明。

1

要添加到@珍妮弗的回答

showsUserLocation 

討論

該屬性並不表示 用戶的位置是否是 實際上在地圖上是可見的,只有 地圖視圖是否被允許爲 顯示它。要確定 用戶的位置是否可見,請使用 userLocationVisible屬性。該屬性的 默認值爲NO。

此屬性設置爲YES導致 使用核心位置 框架查找當前 位置的地圖視圖。只要這個屬性是 YES,地圖視圖繼續跟蹤 用戶的位置,並更新它 週期性。

Core Location框架

的Core Location框架可以讓你 確定當前位置或 航向與設備相關聯。 框架使用可用硬件 來確定用戶的位置和 標題。您可以使用此框架中的類和 協議來配置和安排 傳送的位置和標題事件。您可以 還用它來定義地理 地區和監視,當用戶 越過那些 區域的邊界。

如果你想知道如何在覈心位置做到這一點

實際上它使用的幾種機制。

  1. GPS
  2. 手機信號塔
  3. WiFi熱點編目
  4. 隨機假設你是在庫比蒂諾

有基於速度,精度和可用的硬件權衡。第一代iPad只有3個選項可用,而iPhone模擬器則使用最後一個機制。

您可以觀察到在地圖應用這些系統中它最初是基於蜂窩塔猜測差異,然後提煉通過GPS的猜測。

只有選項#3需要數據連接。

對於包括#4在內的幽默受損,儘管功能正確,但並不完全嚴重。 (我想他們模擬GPS報告該位置,而不是僅僅硬編碼,但我還沒有檢查。)

How does CoreLocation locate the device?

+0

但我們可以選擇,如果其他方法可用於不使用GPS?我一直想知道這一點,因爲當應用程序請求用戶使用位置服務時,它保持打開並使用大量的電池。 Id喜歡避免這種情況,因此如果有其他方法可用,則不會打開它。 – DevilInDisguise 2015-07-14 20:11:06

3

核心位置,你想要做(通過使用Wi-Fi三角測量)是什麼。檢查出的CLLocationManager