4

如果

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

已给出,那么何时会调用更新?如果用户在 60 秒内移动了 10 米,是否会调用位置更新?或者如果用户在 60 秒内没有移动任何距离,是否可以获取更新?如果一次使用所有属性,哪个将被优先考虑?

我在我的应用程序中使用了所有这些。但是,它只有在位移为 1mt 且间隔为 30secs 时才有效。当位移增加到 20 米并保持间隔不变时,得到了更奇怪的结果。

4

2 回答 2

2

10m位移60 sec interval,没有fastestInterval价值。Google Play 位置服务将尝试获取位置60 sec,看看它是否是 10m,如果是,它将调用,onLocationChanged否则它将丢弃该值。

现在有了fastestInterval = 1,如果它有一个位置值1 sec并且如果位移大于10m那么你将收到位置onLocationChanged

于 2017-10-26T17:41:27.197 回答
0

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

如果用户在您的情况下移动 5 米,然后返回原始位置 5 米,则 locationcleint 将更新新位置,否则不会因为用户停留在同一位置但移动了 10 米

于 2014-08-08T03:29:51.083 回答