【问题标题】:Location client's priority against setInterval,setFastestInterval and setSmallestDisplacement?定位客户端对 setInterval、setFastestInterval 和 setSmallestDisplacement 的优先级?
【发布时间】:2014-09-13 03:11:53
【问题描述】:

如果

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

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

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

【问题讨论】:

    标签: android google-play-services fusedlocationproviderapi


    【解决方案1】:

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

    现在使用fastestInterval = 1,如果它在1 sec 中具有位置值并且如果位移大于10m,那么您将在onLocationChanged 中接收位置

    【讨论】:

      【解决方案2】:

      我的情况跟你一样。我不知道会先调用 Interval 以确定位移,否则位移会首先触发。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-10-27
        • 2014-11-24
        • 2018-02-13
        • 1970-01-01
        • 2013-05-02
        • 1970-01-01
        相关资源
        最近更新 更多