0

如何查找当前位置是否位于谷歌地图v2上的圆圈内

4

2 回答 2

1

如果您想使用地理围栏功能,请使用此功能,如果那是您在应用程序中的目标。

安卓中的地理围栏

于 2013-05-31T10:33:26.713 回答
0

你需要具备三样东西:

  1. Location具有圆心位置的对象。
  2. Location具有当前位置的对象。
  3. 圆的半径。

然后您可以使用该方法Location.distanceTo(Location)并将结果与​​半径进行比较。

例子:

因此,我假设您在地图中引用了 a Circle

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 回答