立即检查Android附近两个位置之一的最佳方法?

时间:2013-07-18 06:08:19

标签: android location proximity

我正在编写一个利用解析进行云数据存储的应用。我最近被告知,我正在写这篇文章的人正在打开第二个位置,并且想知道用户在哪个位置检入/记录数据。我在以下网址找到了谷歌代码: http://developer.android.com/training/location/geofencing.html

定义如何使用地理围栏,以及如何获取最后已知的gps /网络位置 http://developer.android.com/guide/topics/location/strategies.html

但我不知道其中任何一个是否是我需要的。基本上我正在努力做到以下几点:

  1. 用户启动应用
  2. 用户点击“登记入住”以登记健身房的课程
  3. 加载“签入”活动时,用户可以单击一个类。在这个时间点,我想知道用户是否在距离中心纬度/长度5英里的范围内。这两个地点相距约20英里,所以粗略估计它们甚至在几英里之内应该没问题(他们是在桑尼维尔还是圣何塞?)
  4. 当用户点击一个班级时,办理登机手续将被发送到Parse数据库以及该位置(一个城市或另一个城市)
  5. 我不确定地理围栏是否适用于这种情况,因为我只需要从一个点知道粗糙区域..但是获取样本的基本位置似乎没有显示如何检查手机何时接近点。

    到目前为止,我发现了以下内容: http://www.javacodegeeks.com/2011/01/android-proximity-alerts-tutorial.html

    这似乎是最好的选择,除了它不断检查设定点的“距离”,我需要告诉用户是否在一个或其他位置附近。

1 个答案:

答案 0 :(得分:2)

这样的事情可能是:

Location me   = new Location("");
Location dest = new Location("");

me.setLatitude(myLat);
me.setLongitude(myLong);

dest.setLatitude(destLat);
dest.setLongitude(destLong);

float dist = me.distanceTo(dest);

然后,您可以重复第二个位置并存储两个距离,然后进行比较以查看最小值。