谷歌地图v2查找当前位置是否在圈内

时间:2013-05-31 10:24:07

标签: android google-maps-android-api-2

如何查找当前位置是否位于Google地图v2中的圆圈内

2 个答案:

答案 0 :(得分:1)

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

Geofencing in android

答案 1 :(得分:0)

你需要做三件事:

  1. 一个Location对象,其中包含圆圈的中心位置。
  2. 具有当前位置的Location对象。
  3. 圆的半径。
  4. 然后您可以使用方法Location.distanceTo(Location)并将结果与​​半径进行比较。

    示例:

    因此,我假设您在地图中引用了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
        }
    }
    

    (未经测试的代码。)

    像这样。