2017-09-14 4 views
0

私は自分のアプリでたくさんのユーザーを持っていますが、それらのすべてに固定の場所があります Messenger WichetやBitalkのように、近くにいる他のユーザーを見ることができる新しいセクションを作成したい どのように場所を比較することができますか?androidの近くにfind

+0

偉大な答えをお伝えするには、あなたがまだ質問していなければ[尋ねる]を一目で把握すれば助けになるかもしれません。あなたが[mcve]を提供できるなら、それは役に立つかもしれません。 – Mat

答えて

0

2つの場所の間の距離を見つけ、近くの基準と比較してください。

if (locationOfMary.distanceTo(locationOfBob) < NEARNESS_CRITERIA) { 
    // Locations are near 
} else { 
    // Locations are far away 
} 

多分、PHPにすでにいくつかのライブラリがあります。そうでない場合、2点間の距離はVincentyの公式で計算できます。 Android SDKのLocation.computeDistanceAndBearing()メソッドで、その実装のgoogleの例を見るか、それを見ることができます。

反復アルゴリズムなので、計算回数を減らすのが良いでしょう。たとえば、緯度の2つの整数値の間の距離が110 km、経度110 * cos(緯度)の2つの整数値の間の距離にあるという仮定に基づいて、別の場所に概略フィルタを適用できます。

幸運を祈る!

関連する問題