onLocationChanged在启动时返回一些错误的坐标。谷歌地图

时间:2015-09-18 10:11:02

标签: android

当我启动locationService时,我遇到了接收错误坐标的问题。 onLocationChanged返回距离手机实际位置100-2000米的点。这是无法接受的!这些点的准确度在20-90之间。 我的设置是这样的。

    googleApiClient.connect();

    locationRequest = new LocationRequest();
    locationRequest.setInterval(2000);
    locationRequest.setFastestInterval(1000);
    locationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
    locationRequest.setSmallestDisplacement(1f);

    return START_NOT_STICKY;

我写了一个过滤器,可以切断有故障的点,但是有一些可能性,这个过滤器不起作用。

if (points.size() == 1 && prevLocation != null) {
        float maxDistance = 100f;
        if (location.distanceTo(prevLocation) > maxDistance || location.getAccuracy()>MAX_ACCURACY) { //second point too far from first one
            points.clear();
            dbHelper.removeFirstPoint(track.getGuid());
        }
    }

有没有人遇到同样的问题,或者只是知道为什么会发生这种事情。 我认为这个问题是由基于GSM或WIFI位置的响应引起的

0 个答案:

没有答案