レストランのロケーションは、データベースの緯度と経度の組み合わせとして格納されます。
顧客がアプリケーションを開くときに、顧客の現在の場所を取得し、データベースのクエリを実行して、ユーザー/顧客の現在の場所とレストランの場所の距離が5マイル未満であるかどうかを確認する必要があります。 Googleはすでにこの機能を実現する方法を提供しています。
あなたがユーザーの位置を表していると仮定として:
Location userLocation = new Location("");
userLocation.setLatitude(latitude1);
userLocation.setLongitude(longitude1);
これは、あなたが一度にデータベース1から照会レストランの場所を表す方法です。
Location restaurantLocation = new Location("");
restaurantLocation.setLatitude(latitude2);
restaurantLocation.setLongitude(longitude2);
これで距離をメートルで計算できます。
float distanceInMiles = distanceInMeters/1.60934
をし、それを超える5マイルであるかどうかを確認:
float distanceInMeters = userLocation.distanceTo(restaurantLocation);
あなたは次のようにマイルへの適切な変換を行うことができます。条件がtrueを返す場合は、マップ内のその場所をレストランの座標でマークします。
if (distanceInMiles > 5)
{
// code to set the marker with the restaurant's coordinates on the map.
}
このテストを定期的に実行して(5分ごとに)、近くの5マイルの半径にあるレストランを見つけることができます。