2013-05-31 139 views

回答

0

你需要有三样东西:

  1. 一个Location物体的位置这个圈子的中心。
  2. Location对象与当前位置。
  3. 圆的半径。

然后,您可以使用方法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 
    } 
} 

这样的事情。

+0

是啊,请分享一个例子 –

+0

检查编辑,请。 – zbr

+0

请检查答案,如果它对你有帮助。 – zbr

1

如果您想使用地理围栏功能,如果这是您的应用程序的目标,请使用此选项。

Geofencing in android

相关问题