0

現在の場所がGoogleマップv2の円の内側にあるかどうかを確認する方法

4

2 に答える 2

0

次の 3 つのものが必要です。

  1. Location円の中心の位置を持つオブジェクト。
  2. 現在の位置を持つLocationオブジェクト。
  3. 円の半径。

次に、メソッドを使用してLocation.distanceTo(Location)、結果を半径と比較できます。

例:

Circleしたがって、マップに a への参照があると仮定します。

Circle circle;

次に、アクティビティが実装され、場所が変更されるたびLocationListenerにメソッドonLocationChanged(Location)を使用して通知を受けると思います。その方法では、次のようなことができます。

@Override
public void onLocationChanged(Location location) {
    Location l = new Location("");
    l.setLatitude(circle.getCenter().latitude);
    l.setLongitude(circle.getCenter().longitude);
    if (location.distanceTo(l) > circle.getRadius()) {
        // outside of circle
    } else {
        // inside
    }
}

(テストされていないコード。)

このようなもの。

于 2013-05-31T10:31:30.640 に答える