2016-03-27 11 views
0

50Mile半径wrtのLatLngBoundsを作成したいとします。現在位置。 Googleの場所APIで使用する。あなたはポインタを提供することができますLatLngBoundsを50Mile半径の現在位置で作成する

は今のところ、私はオンライン

//Southwest corner to Northeast corner. 
LatLngBounds bounds = new LatLngBounds(
          new LatLng(39.906374, -105.122337), 
          new LatLng(39.949552, -105.068779) 
        ); 

を例を次のですか?

更新:

私は答えとしてこれを使用:

How to convert a LatLng and a radius to a LatLngBounds in Android Google Maps API v2?

+0

http://stackoverflow.com/questions/1253499/simple-calculations-for-working-with-lat-lon-km-distanceを参照してください。それは緯度経度で50 Kmsを計算して使用する方法を示します。 – Abdullah

+0

これはhttp://www.movable-type.co.uk/scripts/latlong.htmlを参考にしてください。「目的地からの距離と出発点からの方位」 –

答えて

1

を、私はあなたがユーザーの位置を把握する方法を知っていることを、前提としています。このトピックに関する情報はたくさんあります。

したがって、主な問題は、あなたの境界として使用するコーナーを把握することです。これは、直接測地問題として知られています(https://en.wikipedia.org/wiki/Geodesics_on_an_ellipsoid参照)。あなたはそれを解決するにはいくつかの方法があります。

  1. は、以下の方法を使用して、隅の座標を計算するためのJavaライブラリ(http://geographiclib.sourceforge.net/html/java/)を使用します。

    Geodesic.WGS84.Direct(LAT1、lon1、azi1あなたが道に沿って方位を把握する必要があること、http://geographiclib.sourceforge.net/html/java/net/sf/geographiclib/Geodesic.html

    注:、S12)

    は(ドキュメントを参照してください。

  2. 組み込みのandroid.location.Locationクラスを使用します。 2つの点の座標をとり、それらの間の距離を計算する静的メソッド 'distanceBetween'を持っています。

    ここでのポイントは、境界矩形の上下の緯度と左/右の経度を見つけるために '除算と征服アルゴリズム'を使用することです。

  3. 正確さに問題がなければ固定値を使用して距離を概算緯度/緯度に変換します。

関連する問題