位置客户端对setInterval,setFastestInterval和setSmallestDisplacement的优先级?

时间:2014-07-22 10:32:43

标签: android google-play-services fusedlocationproviderapi

如果

locationClient.setInterval(60*1000);  
locationClient.setSmallesDisplacement(10);       
locationClient.setFastestInterval(1000);   
给出

,然后何时调用更新?如果用户在60秒内移动了10mts,是否会调用位置更新?或者,如果用户未在60秒内移动任何距离,是否可以获取更新?如果一次性使用所有属性,将优先考虑?

我在我的应用中使用了所有这些内容。但是,只有当排量为1mt且间隔为30秒时,它才能正常工作。当位移增加到20mts保持间隔相同时,得到更奇怪的结果。

2 个答案:

答案 0 :(得分:0)

我和你一样有同样的情况。我想知道Interval将首先调用能够确定位移或位移将首先触发。

如果用户在您的情况下旅行5米然后返回到原始位置5米,那么locationcleint将更新新位置,或者它不会因为用户停留在同一位置但是行进了10米

答案 1 :(得分:0)

10m位移和60 sec interval且没有fastestInterval值。 Google Play定位服务会尝试每隔60 sec获取一次位置,看看它是否为10米,如果是,则会调用onLocationChanged,否则会丢弃该值。

现在使用fastestInterval = 1,如果它的位置值在1 sec,如果位移超过10m,那么您将在onLocationChanged

中收到位置