現在の場所がGoogleマップv2の円の内側にあるかどうかを確認する方法
質問する
766 次
2 に答える
0
次の 3 つのものが必要です。
Location
円の中心の位置を持つオブジェクト。- 現在の位置を持つ
Location
オブジェクト。 - 円の半径。
次に、メソッドを使用して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 に答える