如何查找当前位置是否位于Google地图v2中的圆圈内
答案 0 :(得分:1)
如果您想使用地理围栏功能,请使用此功能,如果这是您在应用中的目标。
答案 1 :(得分:0)
你需要做三件事:
Location
对象,其中包含圆圈的中心位置。Location
对象。然后您可以使用方法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
}
}
(未经测试的代码。)
像这样。