我聽說過地理圍欄,我有一些疑問。希望你能回答一些。iphone - 疑問地理圍欄
- 它是iOS 5.1的新增功能,但是地理圍欄和使用區域有什麼區別?從我讀過的內容幾乎一樣,電池耗盡?
- 爲什麼我找不到關於geofencing的蘋果文檔?
- 你如何定義區域?我可以通過webservice遠程添加它們嗎?
謝謝。
我聽說過地理圍欄,我有一些疑問。希望你能回答一些。iphone - 疑問地理圍欄
- 它是iOS 5.1的新增功能,但是地理圍欄和使用區域有什麼區別?從我讀過的內容幾乎一樣,電池耗盡?
- 爲什麼我找不到關於geofencing的蘋果文檔?
- 你如何定義區域?我可以通過webservice遠程添加它們嗎?
謝謝。
從iOS 4開始,Geofencing實際上已經存在。您可以在Apple Location Awareness Programming Guide中找到關於它的文檔。它也被稱爲「區域監控」。
這些區域非常易於使用。用中心點(lat,long),半徑和唯一標識符創建一個CLRegion
。然後致電-startMonitoringForRegion
。當然,您需要註冊一個CLLocationManagerDelegate
來收聽回調,-didEnterRegion
和-didExitRegion
,但這也很容易。
您不能遠程添加它們。只從設備上。在過去的幾年裏,我已經瞭解了一些關於他們的事情。所以希望這會爲你節省一些麻煩。
地理柵欄是爲位置添加功能的好方法,不需要任何開銷的主動式GPS和位置跟蹤。根據我的經驗,geofences在離開時並不會造成明顯的電量消耗。蘋果有他們想象得很好。它們不具有與有源GPS相同的精度,但它們足夠接近。祝你好運。
更新 這裏的一些信息有點過時了。您可以監控的區域數量現在爲20,並且每個應用都有上限。此外,最小尺寸不是100M,它可以更小,但在較低數量下不能保證準確性。
感謝您的回答,這對我非常有幫助。您能否以CLRegions的準確性分享您的經驗? geofencing是否仍然需要最佳值,或者可能是另一個基於區域半徑的值? – beryllium 2012-12-11 15:03:45
我仍然使用最佳精度,對電池壽命的影響很小。我注意到退出事件的時間似乎在iOS 6中被延遲了。一切仍然按照廣告方式工作,但退出事件可能不像以前那麼準確。 – 2012-12-11 16:52:32
我想問你最少100m是什麼意思。我目前正在使用geofencing來開發一個導航應用程序,但所需的精度大約在10米左右。這是否意味着我必須用另一種方式來做到這一點? – 2013-05-28 18:32:29
「地理圍欄」一直存在,自iOS 4以「地區監控」的形式出現。它使用距離檢查來查看你是否進入了一個圈子。 這不是真正的地理圍欄,因爲真正的地理圍欄正在檢查一個點是否落在一個多邊形中(稱爲多邊形中的點)。
從iOS 6開始,目前沒有類似於使用多邊形中的點的區域監視。要進行真正的地理圍欄,您必須使用區域監控和GPS組合。Geofencing沒有Apple文檔,因爲CoreLocation不支持它。
如果您打算採用點對多方法,我會推薦光線投射。有一個Objective-C類可以很好地實現它。它被稱爲objc-BorderPatrol。
至於從網絡服務發送柵欄,有可能做類似於Twitter的流API,但可能太密集。最好使用重要位置來更新您的柵欄。如果您打算從網絡服務發送柵欄,我會推薦使用MySQL或PostGRE SQL作爲兩者都具有非常好的地理空間擴展。
一些注意事項: - >-[CLRegion containsCoordinate:]
永遠不會被任何CoreLocation對象調用。所有的距離檢查都是內部的。 - >重要位置每500米或5分鐘更新一次,以先到者爲準。重要位置使用來自蜂窩塔的IP地址來確定位置。 - >地理柵欄和地區可以重疊,跟蹤這一點。
objc-BorderPatrol是完美的作品嗎?我想包括它到我的應用程序 – hasan83 2015-10-28 10:03:18
objc-BorderPatrol不再維護。你會更好地寫自己的光線投射點多元謂詞。 – 2015-10-31 00:36:16
夥計們,任何提示? – subharb 2012-04-02 18:13:42