4

9000 km^2 のエリアに約 3500 の地理的な関心のあるポイントがあり、アプリをバックグラウンドで実行して、ユーザーが前述のポイントのいずれかに近づくたびに通知したいと考えています。

Google I/O 2013 で導入された新しいGeofence APIは、特にバッテリー寿命が最適化されているため、この仕事に最適なように見えましたが、ステータス コードGEOFENCE_TOO_MANY_GEOFENCESを取得する前に 100 を超えるジオフェンスを登録できないようです(デモアプリ)。

この制限を引き上げることは可能ですか? おそらく、何らかの設定または API を介してですか?

4

2 に答える 2

15

デバイス上の sqlite db にすべてのポイントをダウンロードすることをお勧めします。次に、次のような方法で最も近い 99 点を見つけます: SQlite 最寄りの位置 (緯度と経度) を取得し、それらの点を Android に登録して監視します。

次に、ユーザーの場所が十分に変化したかどうかを監視するために使用できる「大幅な変更」ジオフェンスを設定して、ユーザーがこのジオフェンスを出るときに、最も近い関心のあるポイントを再読み込みする必要があります。

于 2013-10-14T15:47:47.523 に答える