2017-11-03 10 views
0

geofenceの精度は、locationManagerの精度または距離フィルタに依存しますか?または、ジオフェンスはOSによって管理され、Wifi/Cell tower情報を使用するため、相互に独立していますか?例えばgeofenceの精度は、locationManagerの精度または距離フィルタに依存しますか?

locationManager

locationManager.distanceFilter = 1250; 
locationManager.desiredAccuracy = kCLLocationAccuracyKilometer; 

領域は

let title = "Lorrenzillo's" 
let coordinate = CLLocationCoordinate2DMake(37.703026, -121.759735) 
let regionRadius = 550.0 


let region = CLCircularRegion(center: CLLocationCoordinate2D(latitude: coordinate.latitude, 
longitude: coordinate.longitude), radius: regionRadius, identifier: title) 

550(半径)kCLLocationAccuracyKilometer未満である...ので、ジオフェンストリガが期待と同じように?

私が理解しているところでは、distanceFilterはジオフェンスの精度に影響しません。 マネージャのdesiredAccuracyがジオフェンスの精度に影響するかどうか分かりません。

+0

絶対に、あなたのgpsの精度によって決まります。ジオフェンスは相対的な値(ここでのエリア)であり、それはあなたが比較している値に完全に依存します。 –

+0

なぜdownvote? – Honey

+0

私はしませんでしたが、stackoverflowはコミュニティです。人々は自分の意見を持っています。 –

答えて

0

質問は意味をなさない。あなたはリンゴとトラを比較しています。ジオフェンシングとあなたのアプリのロケーションマネージャーは、お互いに何もしません。

円領域を使用したジオフェンシングは、システムによって実行されます。あなたのロケーションマネージャは、のいずれかのジオフェンス関連のロケートを行いません。システムはあなたのアプリのロケーションマネージャーやその設定を使用せず、何も知らない。確かに、あなたのアプリはおそらく実行されていません。

(ロケーションマネージャが必要ですが、ユーザーがジオフェンスの境界を越えたときにシステムからコールバックを受け取れるようにするには、ロケーションマネージャを依頼する必要がありますが、ロケーションマネージャはまだ位置を特定していません)

+0

FWIW私は[this](https://www.appcoda.com/geo-targeting-ios/)チュートリアルに従っていました。作成者がdistanceFilterとdesiredAccuracyを設定しました。そして、あなたは、それが完全にはジオフェンスにとって不必要だと言っています。それは理にかなっている。私はすでにそれを受け入れましたが、あなたが参照を提供することができればそれは良いでしょう – Honey