如何查找当前位置是否位于谷歌地图v2上的圆圈内
问问题
766 次
2 回答
1
如果您想使用地理围栏功能,请使用此功能,如果那是您在应用程序中的目标。
于 2013-05-31T10:33:26.713 回答
0
你需要具备三样东西:
Location
具有圆心位置的对象。Location
具有当前位置的对象。- 圆的半径。
然后您可以使用该方法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 回答