0

クラウド データ ストレージに parse を利用するアプリを作成しています。私は最近、私がこれを書いている人々が 2 番目の場所を開設し、ユーザーがチェックインしている/データを記録している場所を知りたいと言われました。Google コードを見つけました: http://developer.android.com/training/location/geofencing.html

これは、ジオフェンシングの使用方法と、既知の最後の gps/ネットワークの場所を取得する方法を定義します。
http://developer.android.com/guide/topics/location/strategies.html

しかし、これらのいずれかが必要かどうかはわかりません。基本的に私は次のことをしようとしています:

  1. ユーザーがアプリを起動
  2. ユーザーは「チェックイン」をクリックしてジムのクラスにチェックインします
  3. 「チェックイン」アクティビティが読み込まれると、ユーザーはクラスをクリックできます。この時点で、ユーザーが中央緯度/経度から 5 マイル以内にいると答えているかどうかを知りたいと思います。この 2 つの場所は約 20 マイル離れているため、数マイル以内に収まる概算で問題ありません (サニーベールかサンノゼか?)。
  4. ユーザーがクラスをクリックすると、チェックインが場所 (いずれかの都市) とともに Parse データベースに送信されます。

ポイントから大まかなエリアを知る必要があるだけなので、ジオフェンシングがこのケースに適しているかどうかはわかりません..しかし、サンプルを取得する基本的な場所は、電話がポイントの近くにあることを確認する方法を示していないようです.

この時点で、次のことがわかりました: http://www.javacodegeeks.com/2011/01/android-proximity-alerts-tutorial.html

これは、設定ポイントからの「距離」を常にチェックすることを除いて、最良のオプションのようです。ユーザーがいずれかの場所の近くにいるかどうかを一度確認する必要があります。

4

1 に答える 1

2

Something like this maybe:

Location me   = new Location("");
Location dest = new Location("");

me.setLatitude(myLat);
me.setLongitude(myLong);

dest.setLatitude(destLat);
dest.setLongitude(destLong);

float dist = me.distanceTo(dest);

次に、2 番目の場所について繰り返し、両方の距離を保存し、比較して最小値を確認できます。

于 2013-07-18T20:03:31.507 に答える