我没有改变我的位置但是onlocationchanged给出了不同的位置坐标

时间:2016-09-28 12:57:55

标签: android google-maps fusedlocationproviderapi

我的位置稳定,但是在我的时间间隔之后调用onLocationChanged()事件时,不会给出相同的位置坐标。

Location lastLocation = LocationServices.FusedLocationApi.getLastLocation(mGoogleApiClient);


public void initialiseLocationRequest() {
        sLocationRequest = LocationRequest.create();             sLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
        sLocationRequest.setInterval(30 * 1000);
        sLocationRequest.setFastestInterval(10 * 1000);
    }


 // set LocationListener and listen in onLocationChanged        LocationServices.FusedLocationApi.requestLocationUpdates(mGoogleApiClient,
                LocationHelper.sLocationRequest, this);

输出: -

  

09-28 17:40:55.478 6703-6703 / com.ai.terminal D / MapsActivity:   onLocationChanged:纬度: - 23.0506133经度:-72.51852 09-28   17:41:06.517 6703-6703 / com.ai.terminal D / MapsActivity:   onLocationChanged:纬度: - 23.0508033经度:-72.51854 09-28   17:41:18.451 6703-6703 / com.ai.terminal D / MapsActivity:   onLocationChanged:纬度: - 23.05087经度:-72.518645 09-28   17:41:30.470 6703-6703 / com.ai.terminal D / MapsActivity:   onLocationChanged:纬度: - 23.0508667经度:-72.51864 09-28   17:41:42.451 6703-6703 / com.ai.terminal D / MapsActivity:   onLocationChanged:纬度: - 23.0508667经度:-72.51864

2 个答案:

答案 0 :(得分:1)

如果当前位置更新与上一个已知位置不匹配,将调用OnLocationChanged()。

更新的位置将在每个minTime(在我的情况下为1000毫秒)中更改,并且如果设备移动minDistance(在我的情况下为0米)距离。

这意味着它非常不稳定而且它会闪烁。但是,您可以忽略两位小数后的数字。

注意:准确度还取决于您的设备。

答案 1 :(得分:0)

使用不同的设备进行测试。这可能有所帮助。