2011-08-08 63 views
6

對不起,這裏是一個noob。我無法清楚地區分CLLocationManager的屬性distanceFilterdesiredAccuracydesiredAccuracy和distanceFilter之間的差異過濾器

如果我想要我的應用程序爲甚至很小的距離(比如100-200米)提供不同的座標,我應該爲這些屬性設置什麼值。

幫助將不勝感激。

回答

8

根據developer.apple.com

distanceFilter

的最小距離(以米爲單位),生成一個更新事件之前,設備必須橫向移動 。

這意味着,基於先前的位置事件,僅在超過distanceFilter值距離後纔會接收另一個位置更新。

desiredAccuracy指您的位置數據應該有多精確。 例如,如果您希望看到您所在的確切街道,則此參數的準確度值很高。 (kCLLocationAccuracyBest) 如果你只希望看到大概的區域(比如你在哪個鄰域內),你會爲這個參數設置一個較低的精度值。 (kCLLocationAccuracyThreeKilometers)

選擇此項以滿足您的需求,但請注意,您希望得到的精確度越高,並且您要求更新的頻率越高,則設備耗用的功率就越多。

希望這會有所幫助, Vlad

3

distanceFilter - 這是最小距離哪個設備應該通過從先前的位置被傳遞與委派... didUpdateToLocation:...方法。一旦距離達到位置服務將再次調用... didUpdateToLocation ...等等。

desiredAccuracy - 告訴定位服務您需要多麼精確的座標,這是最小的位置誤差半徑。如果數值非常低(例如5),無線電將嘗試使用GPS硬件,並且將繼續爲其供電,但幾乎不能使其具有最準確的位置。如果值很大,系統可能決定使用從WiFi熱點位置三角測量中獲取的數據。

相關問題