iOS5/iPhone 4Gで正確な地域の監視をしようとしていますが、運がうまくいかないようです。明確にするために、私は地域入力イベントを得ることができます。私はそれらを早めに入手しているだけです。私に説明させてください。このコードでは、10メートルに設定されている、iOS5地域の監視精度
#define GEO_FENCING_RADIUS 10 // in meters
CLLocationDistance radius = GEO_FENCING_RADIUS;
// Create the region and start monitoring it.
CLRegion* region = [[CLRegion alloc] initCircularRegionWithCenter:coordinate
radius:radius
identifier:identifier];
[self.locationManager startMonitoringForRegion:region
desiredAccuracy:kCLLocationAccuracyBest];
半径:これは、領域を設定するための私のコードです。私が前提にしているのは、この場所から10メートル以内にいる場合に限り、地域通知を受け取るということです。代わりに、私ははるかに高い距離の値で通知を得ることができます(私は2マイルの近接が地域を引き起こしているのを見ました)。何が原因でしょうか?また、私はsignificantLocationChangeMonitoringAvailableをCLLocationManagerに設定されたデフォルト値と共に使用しています。多分、significantLocationChangeMonitoringAvailableを使用すると、何らかの理由でより正確なトリガーイベントが排除されますか?
ここで何が起こっているのでしょうか?
精度が高い場合、重要な位置の変更に対して領域監視を使用する利点はありますか? – user836026
精度に関してはほぼ同じですが、目的は異なります。あなたのアプリは、ユーザーが帰宅してから20kmの通勤後に仕事場に到着したことを知りたいとしているとしましょう...地域の監視機能を使用すると、ユーザーが家から約1km離れたところで通知を受けることができます。仕事から約1km以内に入る。重要なロケーションの変更を使用すると、ユーザーが約1km移動するたびに10-20の通知が届きます(この例では通知が不要なため、バッテリーを無駄にするだけです)。 – rickster
(両方のサービスは現在デバイスに関連付けられているセルタワーに基づいているため、人口密度の高い地域では1km以上の精度が得られ、人口が少ない地域では悪化する可能性があります.1kmは一般的なガイドラインです平均して期待できる) – rickster