ジオフェンシングについて聞いたことがありますが、疑問があります。それらのいくつかに答えていただければ幸いです。
- iOS 5.1 の新機能ですが、ジオフェンシングとリージョンの使用の違いは何ですか? 私が読んだことから、バッテリーの消耗はほぼ同じですか?
- ジオフェンシングに関する Apple のドキュメントが見つからないのはなぜですか?
-どのように地域を定義しますか? Web サービス経由でリモートで追加できますか?
ありがとう。
ジオフェンシングについて聞いたことがありますが、疑問があります。それらのいくつかに答えていただければ幸いです。
- iOS 5.1 の新機能ですが、ジオフェンシングとリージョンの使用の違いは何ですか? 私が読んだことから、バッテリーの消耗はほぼ同じですか?
- ジオフェンシングに関する Apple のドキュメントが見つからないのはなぜですか?
-どのように地域を定義しますか? Web サービス経由でリモートで追加できますか?
ありがとう。
ジオフェンシングは、実際には iOS 4 から使用されています。これに関するドキュメントは、Apple Location Awareness Programming Guideにあります。「地域監視」ともいう。
リージョンの使い方は非常に簡単です。CLRegion中心点 (緯度、経度)、半径、および一意の識別子を使用して を作成します。次に、 を呼び出します-startMonitoringForRegion。CLLocationManagerDelegate確かに、コールバックをリッスンするにはを登録する必要がありますが-didEnterRegion、-didExitRegionそれも非常に簡単です。
リモートで追加することはできません。デバイスからのみ。ここ数年で、彼らについていくつかのことを学びました。うまくいけば、これにより、今後のトラブルが軽減されることを願っています。
ジオフェンスは、アクティブな GPS や位置追跡のオーバーヘッドなしで位置に機能を追加する優れた方法です。私の経験では、ジオフェンスを常時オンにしておくと、顕著なバッテリーの消耗は発生しません。アップルはそれらをかなりよく理解しています。アクティブ GPS ほどの精度はありませんが、十分に近いです。幸運を。
更新 ここにある情報の一部は、現在は少し古くなっています。監視できるリージョンの数は現在 20 で、アプリごとに制限されています。また、最小サイズは 100M ではありません。これより小さくすることもできますが、それ以下の数値では精度が保証されません。
「ジオフェンシング」は、iOS 4 以降、「地域監視」の形で常に存在しています。距離チェックを使用して、サークルに入ったかどうかを確認します。これは真のジオフェンシングではありません。真のジオフェンシングは、ポイントがポリゴン (ポリゴン内のポイントと呼ばれる) に着陸するかどうかをチェックするためです。
iOS 6 の時点では、現在、ポイント イン ポリゴンを使用するリージョン モニタリングに似たものはありません。真のジオフェンシングを行うには、地域監視と GPS を組み合わせて使用する必要があります。CoreLocation はジオフェンシングをサポートしていないため、ジオフェンシングに関する Apple のドキュメントはありません。
ポイント イン ポリ アプローチを使用する場合は、レイ キャスティングをお勧めします。それを非常にうまく実装するObjective-Cクラスがあります。それはobjc-BorderPatrolと呼ばれます。
Web サービスからフェンスを送信することに関しては、Twitter のストリーミング API と同様のことを行うことができるかもしれませんが、それでは負荷がかかりすぎる可能性があります。重要な場所を使用してフェンスを更新することをお勧めします。Web サービスからフェンスを送信する場合は、MySQLまたはPostGRE SQL を使用することをお勧めします。どちらも非常に優れた地理空間拡張機能を備えているからです。
いくつかの注意事項: ->-[CLRegion containsCoordinate:]は CoreLocation オブジェクトによって呼び出されることはありません。距離チェックはすべて内部で行われます。->重要な場所は、500m または 5 分ごとのいずれか早い方で更新されます。重要な場所は、セル タワーからの IP アドレスを使用して場所を特定します。-> ジオフェンスと地域は重複する可能性があります。これを追跡してください。