2017-12-03 8 views
1

マップを特定の距離に制限して、私の現在の場所から15km離れた場所でユーザーを別の場所にナビゲートすることを制限したい。
可能な緯度と経度から特定の距離に基づいて可能な距離を得る方法

Iが正しく次の関数

public static double distFrom(double lat1, double lng1, double lat2, double lng2) { 
    double earthRadius = 6371.0; // earth radius in km 
    double dLat = Math.toRadians(lat2 - lat1); 
    double dLng = Math.toRadians(lng2 - lng1); 
    double sindLat = Math.sin(dLat/2); 
    double sindLng = Math.sin(dLng/2); 
    double a = Math.pow(sindLat, 2) + Math.pow(sindLng, 2) 
      * Math.cos(Math.toRadians(lat1)) * Math.cos(Math.toRadians(lat2)); 
    double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a)); 
    double dist = earthRadius * c; 

    return dist; 
} 

に基づいて、2点間の距離を計算することができるが、ユーザが任意にナビゲートすることができるので、特定の距離に基づいて、すべての側面で私の場所から可能緯度および経度を得ることができません地図の側。

私はこれを試しましたが、example私の正確な結果は得られていません。ここ

+0

@pskinkには、私の問題の解決策が含まれていますか?私はそれが2つのポイントの間のすべての座標を得ることができますが、私に特定の距離の緯度と経度を与えることができます知っている? – Ahmed

+0

@pskink、ええ、私はcomputeOffsetを知っている特定の距離のLatLngを返しますが、見出しを追加する方法はこれが私の問題です。この距離の開始と終了のLatLngを返すように正確な見出しを取得する方法 – Ahmed

答えて

関連する問題