2

例 6 モバイル デバイスの「緯度」と「経度」の GEO 位置を取得します: A、B、C、D、E、F (デバイスは iPhone、iPad、Android など)

デバイス A の範囲内で、半径 10 メートル以内にあるすべてのデバイスを見つけるにはどうすればよいでしょうか。(ほんの一例)使用できるライブラリはありますか?

4

3 に答える 3

1

A と他の場所の間の距離を計算し、遠すぎる場所を除外しますか? Android にはこの便利なメソッドがあり、同様のメソッドが他のプラットフォームにも存在する可能性があります。基礎となる数学をいつでもアプリに実装することもできます。

于 2012-07-19T04:22:56.660 に答える
1

数学に関しては...このサイトには、緯度/経度に関係するさまざまなことの計算に関する詳細が記載されています

http://www.movable-type.co.uk/scripts/latlong.html

于 2012-07-19T04:26:42.177 に答える
0

次の方法を使用して、2 つの緯度と経度の間の距離を見つけることができます。

public static float calculateDistance (float lat1, float lng1, float lat2, float lng2 ) 
{
    double earthRadius = 3958.75;
    double dLat = Math.toRadians(lat2-lat1);
    double dLng = Math.toRadians(lng2-lng1);
    double a = Math.sin(dLat/2) * Math.sin(dLat/2) +
    Math.cos(Math.toRadians(lat1)) * Math.cos(Math.toRadians(lat2)) *
    Math.sin(dLng/2) * Math.sin(dLng/2);
    double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
    double dist = earthRadius * c;

    int meterConversion = 1609;

    return new Float(dist * meterConversion).floatValue();
}
于 2012-07-19T04:51:51.050 に答える