地理位置指向android和Accuracy

时间:2014-12-01 08:36:21

标签: android gps geolocation location android-location

我有一个非常复杂的问题,希望有人可以帮助我

我正在构建用于在某些特定预定义点跟踪用户移动的Android应用程序,并且我想报告用户到达和离开这些点的过程。

问题是我使用distanceTo方法来获取当前用户位置和位置之间的距离来自位置服务,以便能够知道用户是否到达或离开

但准确性在这里是一个大问题,有时它是" 10"还有一些时候它是" 60"基于我的gps服务的最佳提供商,因此用户报告从同一地点到达和离开多次。

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:2)

使用location.GetAccuracy()是一个很好的方法。您可以过滤掉不符合要求的gps数据。请注意,一直达到10米的精度是不太可能的,根据我的经验,10米是你能得到的最好的。这样做:

@Override
public void onLocationChanged(Location location) {
    if (location != null) {
        // discard any location greater than 20 meters
        if (location.getAccuracy() < 20.0f) {
            // use your location data here
        }
    }
}

您可以在我的开源Gps Tracker项目中看到完整的工作示例:

https://github.com/nickfox/GpsTracker/blob/master/phoneClients/android/app/src/main/java/com/websmithing/gpstracker/LocationService.java